js-apis-data-ability.md 22.9 KB
Newer Older
A
annie_wangli 已提交
1
# DataAbilityPredicates
Z
zengyawen 已提交
2

A
Annie_wang 已提交
3
> **NOTE**<br/>
A
annie_wangli 已提交
4
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Z
zengyawen 已提交
5

A
annie_wangli 已提交
6 7

## Modules to Import
Z
zengyawen 已提交
8

A
Annie_wang 已提交
9 10
```js
import dataAbility from '@ohos.data.dataAbility';
Z
zengyawen 已提交
11
```
A
annie_wangli 已提交
12 13 14 15 16 17 18 19 20 21 22 23


## dataAbility.createRdbPredicates


createRdbPredicates(name: string, dataAbilityPredicates: DataAbilityPredicates): rdb.RdbPredicates


Creates an **RdbPredicates** object based on a **DataAabilityPredicates** object.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
24
**Parameters**
A
Annie_wang 已提交
25

A
annie_wangli 已提交
26 27 28
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | name | string | Yes| Table name in the RDB store.|
A
Annie_wang 已提交
29
  | dataAbilityPredicates | [DataAbilityPredicates](#dataabilitypredicates) | Yes| **DataAbilityPredicates** object.  |
A
annie_wangli 已提交
30

A
Annie_wang 已提交
31
**Return value**
A
annie_wangli 已提交
32 33 34 35
  | Type| Description|
  | -------- | -------- |
  | rdb.[RdbPredicates](js-apis-data-rdb.md#rdbpredicates) | **RdbPredicates** object created.|

A
Annie_wang 已提交
36 37
**Example**
  ```js
A
annie_wangli 已提交
38 39 40 41 42 43 44
  let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
  dataAbilityPredicates.equalTo("NAME", "Rose").between("AGE", 16, 30)
  let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
  ```


## DataAbilityPredicates
Z
zengyawen 已提交
45 46 47 48

Provides predicates for implementing diverse query methods.


A
annie_wangli 已提交
49 50 51 52 53 54 55 56 57 58
### equalTo


equalTo(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value equal to the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
59
**Parameters**
A
annie_wangli 已提交
60 61 62
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
63
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
64

A
Annie_wang 已提交
65
**Return value**
A
annie_wangli 已提交
66 67 68 69
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
70 71
**Example**
  ```js
A
annie_wangli 已提交
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
  ```


### notEqualTo


notEqualTo(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value not equal to the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
87
**Parameters**
A
annie_wangli 已提交
88 89 90
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
91
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
92

A
Annie_wang 已提交
93
**Return value**
A
annie_wangli 已提交
94 95 96 97
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
98 99
**Example**
  ```js
A
annie_wangli 已提交
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notEqualTo("NAME", "lisi")
  ```


### beginWrap


beginWrap(): DataAbilityPredicates


Adds a left parenthesis to this **DataAbilityPredicates**.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
115
**Return value**
A
annie_wangli 已提交
116 117 118 119
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with a left parenthesis.|

A
Annie_wang 已提交
120 121
**Example**
  ```js
A
annie_wangli 已提交
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
  let predicates = new dataAbilitylity.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
      .beginWrap()
      .equalTo("AGE", 18)
      .or()
      .equalTo("SALARY", 200.5)
      .endWrap()
  ```


### endWrap


endWrap(): DataAbilityPredicates


Adds a right parenthesis to this **DataAbilityPredicates**.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
142
**Return value**
A
annie_wangli 已提交
143 144 145 146
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with a right parenthesis.|

A
Annie_wang 已提交
147 148
**Example**
  ```js
A
annie_wangli 已提交
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
      .beginWrap()
      .equalTo("AGE", 18)
      .or()
      .equalTo("SALARY", 200.5)
      .endWrap()
  ```


### or


or(): DataAbilityPredicates


Adds the OR condition to this **DataAbilityPredicates**.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
169
**Return value**
A
annie_wangli 已提交
170 171 172 173
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with the OR condition.|

A
Annie_wang 已提交
174 175
**Example**
  ```js
A
annie_wangli 已提交
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Lisa")
      .or()
      .equalTo("NAME", "Rose")
  ```


### and


and(): DataAbilityPredicates


Adds the AND condition to this **DataAbilityPredicates**.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
193
**Return value**
A
annie_wangli 已提交
194 195 196 197
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with the AND condition.|

A
Annie_wang 已提交
198 199
**Example**
  ```js
A
annie_wangli 已提交
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Lisa")
      .and()
      .equalTo("SALARY", 200.5)
  ```


### contains


contains(field: string, value: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match a string containing the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
217
**Parameters**
A
annie_wangli 已提交
218 219 220 221 222
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|

A
Annie_wang 已提交
223
**Return value**
A
annie_wangli 已提交
224 225 226 227
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
228 229
**Example**
  ```js
A
annie_wangli 已提交
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.contains("NAME", "os")
  ```


### beginsWith


beginsWith(field: string, value: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match a string that starts with the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
245
**Parameters**
A
annie_wangli 已提交
246 247 248 249 250
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|

A
Annie_wang 已提交
251
**Return value**
A
annie_wangli 已提交
252 253 254 255
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
256 257
**Example**
  ```js
A
annie_wangli 已提交
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.beginsWith("NAME", "os")
  ```


### endsWith


endsWith(field: string, value: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match a string that ends with the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
273
**Parameters**
A
annie_wangli 已提交
274 275 276 277 278
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|

A
Annie_wang 已提交
279
**Return value**
A
annie_wangli 已提交
280 281 282 283
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
284
**Example**
A
annie_wangli 已提交
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
  ```
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.endsWith("NAME", "se")
  ```


### isNull


isNull(field: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field whose value is null.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
301
**Parameters**
A
annie_wangli 已提交
302 303 304 305
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|

A
Annie_wang 已提交
306
**Return value**
A
annie_wangli 已提交
307 308 309 310
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
311 312
**Example**
  ```js
A
annie_wangli 已提交
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.isNull("NAME")
  ```


### isNotNull


isNotNull(field: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field whose value is not null.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
328
**Parameters**
A
annie_wangli 已提交
329 330 331 332
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|

A
Annie_wang 已提交
333
**Return value**
A
annie_wangli 已提交
334 335 336 337
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
338 339
**Example**
  ```js
A
annie_wangli 已提交
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.isNotNull("NAME")
  ```


### like


like(field: string, value: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match a string that is similar to the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
355
**Parameters**
A
annie_wangli 已提交
356 357 358 359 360
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|

A
Annie_wang 已提交
361
**Return value**
A
annie_wangli 已提交
362 363 364 365
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
366 367
**Example**
  ```js
A
annie_wangli 已提交
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.like("NAME", "%os%")
  ```


### glob


glob(field: string, value: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the specified string.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
383
**Parameters**
A
annie_wangli 已提交
384 385 386 387 388
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|

A
Annie_wang 已提交
389
**Return value**
A
annie_wangli 已提交
390 391 392 393
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
394 395
**Example**
  ```js
A
annie_wangli 已提交
396 397 398 399 400 401 402 403 404 405 406 407 408 409 410
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.glob("NAME", "?h*g")
  ```


### between


between(field: string, low: ValueType, high: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value within the specified range.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
411
**Parameters**
A
annie_wangli 已提交
412 413 414
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
415 416
  | low | [ValueType](#valuetype) | Yes| Minimum value to match the **DataAbilityPredicates**.|
  | high | [ValueType](#valuetype) | Yes| Maximum value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
417

A
Annie_wang 已提交
418
**Return value**
A
annie_wangli 已提交
419 420 421 422
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
423 424
**Example**
  ```js
A
annie_wangli 已提交
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.between("AGE", 10, 50)
  ```


### notBetween


notBetween(field: string, low: ValueType, high: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value out of the specified range.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
440
**Parameters**
A
annie_wangli 已提交
441 442 443
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
444 445
  | low | [ValueType](#valuetype) | Yes| Minimum value to match the **DataAbilityPredicates**.|
  | high | [ValueType](#valuetype) | Yes| Maximum value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
446

A
Annie_wang 已提交
447
**Return value**
A
annie_wangli 已提交
448 449 450 451
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
452 453
**Example**
  ```js
A
annie_wangli 已提交
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notBetween("AGE", 10, 50)
  ```


### greaterThan


greaterThan(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value greater than the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
469
**Parameters**
A
annie_wangli 已提交
470 471 472
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
473
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
474

A
Annie_wang 已提交
475
**Return value**
A
annie_wangli 已提交
476 477 478 479
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
480 481
**Example**
  ```js
A
annie_wangli 已提交
482 483 484 485 486 487 488 489 490 491 492 493 494 495 496
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.greaterThan("AGE", 18)
  ```


### lessThan


lessThan(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value less than the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
497
**Parameters**
A
annie_wangli 已提交
498 499 500
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
501
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
502

A
Annie_wang 已提交
503
**Return value**
A
annie_wangli 已提交
504 505 506 507
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
508 509
**Example**
  ```js
A
annie_wangli 已提交
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.lessThan("AGE", 20)
  ```


### greaterThanOrEqualTo


greaterThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value greater than or equal to the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
525
**Parameters**
A
annie_wangli 已提交
526 527 528
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
529
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
530

A
Annie_wang 已提交
531
**Return value**
A
annie_wangli 已提交
532 533 534 535
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
536 537
**Example**
  ```js
A
annie_wangli 已提交
538 539 540 541 542 543 544 545 546 547 548 549 550 551 552
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.greaterThanOrEqualTo("AGE", 18)
  ```


### lessThanOrEqualTo


lessThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type **ValueType** and value less than or equal to the specified value.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
553
**Parameters**
A
annie_wangli 已提交
554 555 556
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
557
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
558

A
Annie_wang 已提交
559
**Return value**
A
annie_wangli 已提交
560 561 562 563
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
564 565
**Example**
  ```js
A
annie_wangli 已提交
566 567 568 569 570 571 572 573 574 575 576 577 578 579 580
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.lessThanOrEqualTo("AGE", 20)
  ```


### orderByAsc


orderByAsc(field: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the column with values sorted in ascending order.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
581
**Parameters**
A
annie_wangli 已提交
582 583 584 585
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|

A
Annie_wang 已提交
586
**Return value**
A
annie_wangli 已提交
587 588 589 590
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
591 592
**Example**
  ```js
A
annie_wangli 已提交
593 594 595 596 597 598 599 600 601 602 603 604 605 606 607
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.orderByAsc("NAME")
  ```


### orderByDesc


orderByDesc(field: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the column with values sorted in descending order.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
608
**Parameters**
A
annie_wangli 已提交
609 610 611 612
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|

A
Annie_wang 已提交
613
**Return value**
A
annie_wangli 已提交
614 615 616 617
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
618 619
**Example**
  ```js
A
annie_wangli 已提交
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.orderByDesc("AGE")
  ```


### distinct


distinct(): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to filter out duplicate records.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
635
**Return value**
A
annie_wangli 已提交
636 637 638 639
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that can filter out duplicate records.|

A
Annie_wang 已提交
640 641
**Example**
  ```js
A
annie_wangli 已提交
642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").distinct("NAME")
  let promiseDistinct =  rdbStore.query(predicates, ["NAME"])
  promiseDistinct.then((resultSet) => {   
      console.log("distinct")
  }).catch((err) => {
      expect(null).assertFail();
  })
  ```


### limitAs


limitAs(value: number): DataAbilityPredicates


Set a **DataAbilityPredicates** object to specify the maximum number of records.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
663
**Parameters**
A
annie_wangli 已提交
664 665 666 667
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | value | number | Yes| Maximum number of records.|

A
Annie_wang 已提交
668
**Return value**
A
annie_wangli 已提交
669 670 671 672
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the maximum number of records.|

A
Annie_wang 已提交
673 674
**Example**
  ```js
A
annie_wangli 已提交
675 676 677 678 679 680 681 682 683 684 685 686 687 688 689
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").limitAs(3)
  ```


### offsetAs


offsetAs(rowOffset: number): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to specify the start position of the returned result.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
690
**Parameters**
A
annie_wangli 已提交
691 692 693 694
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | rowOffset | number | Yes| Number of rows to offset from the beginning. The value is a positive integer.|

A
Annie_wang 已提交
695
**Return value**
A
annie_wangli 已提交
696 697 698 699
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the start position of the returned result.|

A
Annie_wang 已提交
700 701
**Example**
  ```js
A
annie_wangli 已提交
702 703 704 705 706 707 708 709 710 711 712 713 714 715 716
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").offsetAs(3)
  ```


### groupBy


groupBy(fields: Array&lt;string&gt;): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to group rows that have the same value into summary rows.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
717
**Parameters**
A
annie_wangli 已提交
718 719 720 721
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | fields | Array&lt;string&gt; | Yes| Names of columns to group.|

A
Annie_wang 已提交
722
**Return value**
A
annie_wangli 已提交
723 724 725 726
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that groups rows with the same value.|

A
Annie_wang 已提交
727 728
**Example**
  ```js
A
annie_wangli 已提交
729 730 731 732 733 734 735 736 737 738 739 740 741
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.groupBy(["AGE", "NAME"])
  ```

### indexedBy


indexedBy(field: string): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to specify the index column.


A
Annie_wang 已提交
742
**Parameters**
A
annie_wangli 已提交
743 744 745 746
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | indexName | string | Yes| Name of the index column.|

A
Annie_wang 已提交
747
**Return value**
A
annie_wangli 已提交
748 749 750 751
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the index column.|

A
Annie_wang 已提交
752 753
**Example**
  ```js
A
annie_wangli 已提交
754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.indexedBy("SALARY_INDEX")
  ```


### in


in(field: string, value: Array&lt;ValueType&gt;): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type Array<ValueType> and value within the specified range.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
769
**Parameters**
A
annie_wangli 已提交
770 771 772
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
773
  | value | Array&lt;[ValueType](#valuetype)&gt; | Yes| Array of **ValueType**s to match.|
A
annie_wangli 已提交
774 775


A
Annie_wang 已提交
776
**Return value**
A
annie_wangli 已提交
777 778 779 780
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
781 782
**Example**
  ```js
A
annie_wangli 已提交
783 784 785 786 787 788 789 790 791 792 793 794 795 796 797
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.in("AGE", [18, 20])
  ```


### notIn


notIn(field: string, value: Array&lt;ValueType&gt;): DataAbilityPredicates


Sets a **DataAbilityPredicates** object to match the field with data type Array<ValueType> and value out of the specified range.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

A
Annie_wang 已提交
798
**Parameters**
A
annie_wangli 已提交
799 800 801
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
Annie_wang 已提交
802
  | value | Array&lt;[ValueType](#valuetype)&gt; | Yes| Array of **ValueType**s to match.|
A
annie_wangli 已提交
803 804


A
Annie_wang 已提交
805
**Return value**
A
annie_wangli 已提交
806 807 808 809
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|

A
Annie_wang 已提交
810 811
**Example**
  ```js
A
annie_wangli 已提交
812 813 814
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notIn("NAME", ["Lisa", "Rose"])
  ```
A
Annie_wang 已提交
815 816 817 818 819 820 821 822 823 824 825 826

## ValueType

Enumerates the value types.

**System capability**: SystemCapability.DistributedDataManager.DataShare.Core

| Name   | Description                |
| ------- | -------------------- |
| number  | The value is a number.  |
| string  | The value is a string.  |
| boolean | The value is of Boolean type.|