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

A
Annie_wang 已提交
3 4 5
**DataAbility** provides APIs for creating predicates, which implement different query methods for relational database (RDB) stores.

> **NOTE**<br/>
A
Annie_wang 已提交
6
>
A
annie_wangli 已提交
7
> 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 已提交
8

A
annie_wangli 已提交
9 10

## Modules to Import
Z
zengyawen 已提交
11

A
Annie_wang 已提交
12 13
```js
import dataAbility from '@ohos.data.dataAbility';
Z
zengyawen 已提交
14
```
A
annie_wangli 已提交
15 16 17 18 19

## dataAbility.createRdbPredicates

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

A
Annie_wang 已提交
20
Creates an **RdbPredicates** object from a **DataAbilityPredicates** object.
A
annie_wangli 已提交
21 22 23

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

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

A
Annie_wang 已提交
26 27 28 29
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | name | string | Yes| Name of a database table.|
  | dataAbilityPredicates | [DataAbilityPredicates](#dataabilitypredicates) | Yes| **DataAbilityPredicates** object.  |
A
annie_wangli 已提交
30

A
Annie_wang 已提交
31
**Return value**
A
Annie_wang 已提交
32

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

A
Annie_wang 已提交
37
**Example**
A
Annie_wang 已提交
38

A
Annie_wang 已提交
39
  ```js
A
annie_wangli 已提交
40
  let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
A
Annie_wang 已提交
41
  dataAbilityPredicates.equalTo("NAME", "Rose")
A
annie_wangli 已提交
42 43 44 45
  let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
  ```

## DataAbilityPredicates
Z
zengyawen 已提交
46 47 48

Provides predicates for implementing diverse query methods.

A
annie_wangli 已提交
49 50 51 52 53 54 55 56
### 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 已提交
57
**Parameters**
A
Annie_wang 已提交
58

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

A
Annie_wang 已提交
64
**Return value**
A
Annie_wang 已提交
65

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

A
Annie_wang 已提交
70
**Example**
A
Annie_wang 已提交
71

A
Annie_wang 已提交
72
  ```js
A
Annie_wang 已提交
73
  dataAbilityPredicates.equalTo("NAME", "lisi")
A
annie_wangli 已提交
74 75 76 77 78 79 80 81 82 83
  ```

### 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 已提交
84
**Parameters**
A
Annie_wang 已提交
85

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

A
Annie_wang 已提交
91
**Return value**
A
Annie_wang 已提交
92

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

A
Annie_wang 已提交
97
**Example**
A
Annie_wang 已提交
98

A
Annie_wang 已提交
99
  ```js
A
Annie_wang 已提交
100
  dataAbilityPredicates.notEqualTo("NAME", "lisi")
A
annie_wangli 已提交
101 102 103 104 105 106 107 108 109 110
  ```

### beginWrap

beginWrap(): DataAbilityPredicates

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

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

A
Annie_wang 已提交
111
**Return value**
A
Annie_wang 已提交
112

A
Annie_wang 已提交
113 114 115
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with a left parenthesis.|
A
annie_wangli 已提交
116

A
Annie_wang 已提交
117
**Example**
A
Annie_wang 已提交
118

A
Annie_wang 已提交
119
  ```js
A
Annie_wang 已提交
120
  dataAbilityPredicates.equalTo("NAME", "lisi")
A
annie_wangli 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
      .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 已提交
136
**Return value**
A
Annie_wang 已提交
137

A
Annie_wang 已提交
138 139 140
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with a right parenthesis.|
A
annie_wangli 已提交
141

A
Annie_wang 已提交
142
**Example**
A
Annie_wang 已提交
143

A
Annie_wang 已提交
144
  ```js
A
Annie_wang 已提交
145
  dataAbilityPredicates.equalTo("NAME", "lisi")
A
annie_wangli 已提交
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
      .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 已提交
161
**Return value**
A
Annie_wang 已提交
162

A
Annie_wang 已提交
163 164 165
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with the OR condition.|
A
annie_wangli 已提交
166

A
Annie_wang 已提交
167
**Example**
A
Annie_wang 已提交
168

A
Annie_wang 已提交
169
  ```js
A
Annie_wang 已提交
170
  dataAbilityPredicates.equalTo("NAME", "Lisa")
A
annie_wangli 已提交
171 172 173 174 175 176 177 178 179 180 181 182
      .or()
      .equalTo("NAME", "Rose")
  ```

### and

and(): DataAbilityPredicates

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

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

A
Annie_wang 已提交
183
**Return value**
A
Annie_wang 已提交
184

A
Annie_wang 已提交
185 186 187
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object with the AND condition.|
A
annie_wangli 已提交
188

A
Annie_wang 已提交
189
**Example**
A
Annie_wang 已提交
190

A
Annie_wang 已提交
191
  ```js
A
Annie_wang 已提交
192
  dataAbilityPredicates.equalTo("NAME", "Lisa")
A
annie_wangli 已提交
193 194 195 196 197 198 199 200 201 202 203 204
      .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 已提交
205
**Parameters**
A
Annie_wang 已提交
206

A
Annie_wang 已提交
207 208 209 210
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
211

A
Annie_wang 已提交
212
**Return value**
A
Annie_wang 已提交
213

A
Annie_wang 已提交
214 215 216
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
217

A
Annie_wang 已提交
218
**Example**
A
Annie_wang 已提交
219

A
Annie_wang 已提交
220
  ```js
A
Annie_wang 已提交
221
  dataAbilityPredicates.contains("NAME", "os")
A
annie_wangli 已提交
222 223 224 225 226 227 228 229 230 231
  ```

### 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 已提交
232
**Parameters**
A
Annie_wang 已提交
233

A
Annie_wang 已提交
234 235 236 237
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
238

A
Annie_wang 已提交
239
**Return value**
A
Annie_wang 已提交
240

A
Annie_wang 已提交
241 242 243
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
244

A
Annie_wang 已提交
245
**Example**
A
Annie_wang 已提交
246

A
Annie_wang 已提交
247
  ```js
A
Annie_wang 已提交
248
  dataAbilityPredicates.beginsWith("NAME", "os")
A
annie_wangli 已提交
249 250 251 252 253 254 255 256 257 258
  ```

### 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 已提交
259
**Parameters**
A
Annie_wang 已提交
260

A
Annie_wang 已提交
261 262 263 264
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
265

A
Annie_wang 已提交
266
**Return value**
A
Annie_wang 已提交
267

A
Annie_wang 已提交
268 269 270
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
271

A
Annie_wang 已提交
272
**Example**
A
Annie_wang 已提交
273

A
annie_wangli 已提交
274
  ```
A
Annie_wang 已提交
275
  dataAbilityPredicates.endsWith("NAME", "se")
A
annie_wangli 已提交
276 277 278 279 280 281 282 283 284 285
  ```

### 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 已提交
286
**Parameters**
A
Annie_wang 已提交
287

A
Annie_wang 已提交
288 289 290
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
annie_wangli 已提交
291

A
Annie_wang 已提交
292
**Return value**
A
Annie_wang 已提交
293

A
Annie_wang 已提交
294 295 296
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
297

A
Annie_wang 已提交
298
**Example**
A
Annie_wang 已提交
299

A
Annie_wang 已提交
300
  ```js
A
Annie_wang 已提交
301
  dataAbilityPredicates.isNull("NAME")
A
annie_wangli 已提交
302 303 304 305 306 307 308 309 310 311
  ```

### 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 已提交
312
**Parameters**
A
Annie_wang 已提交
313

A
Annie_wang 已提交
314 315 316
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
annie_wangli 已提交
317

A
Annie_wang 已提交
318
**Return value**
A
Annie_wang 已提交
319

A
Annie_wang 已提交
320 321 322
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
323

A
Annie_wang 已提交
324
**Example**
A
Annie_wang 已提交
325

A
Annie_wang 已提交
326
  ```js
A
Annie_wang 已提交
327
  dataAbilityPredicates.isNotNull("NAME")
A
annie_wangli 已提交
328 329 330 331 332 333 334 335 336 337
  ```

### 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 已提交
338
**Parameters**
A
Annie_wang 已提交
339

A
Annie_wang 已提交
340 341 342 343
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
344

A
Annie_wang 已提交
345
**Return value**
A
Annie_wang 已提交
346

A
Annie_wang 已提交
347 348 349
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
350

A
Annie_wang 已提交
351
**Example**
A
Annie_wang 已提交
352

A
Annie_wang 已提交
353
  ```js
A
Annie_wang 已提交
354
  dataAbilityPredicates.like("NAME", "%os%")
A
annie_wangli 已提交
355 356 357 358 359 360 361 362 363 364
  ```

### 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 已提交
365
**Parameters**
A
Annie_wang 已提交
366

A
Annie_wang 已提交
367 368 369 370
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | string | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
371

A
Annie_wang 已提交
372
**Return value**
A
Annie_wang 已提交
373

A
Annie_wang 已提交
374 375 376
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
377

A
Annie_wang 已提交
378
**Example**
A
Annie_wang 已提交
379

A
Annie_wang 已提交
380
  ```js
A
Annie_wang 已提交
381
  dataAbilityPredicates.glob("NAME", "?h*g")
A
annie_wangli 已提交
382 383 384 385 386 387
  ```

### between

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

A
Annie_wang 已提交
388
Sets a **DataAbilityPredicates** object to match a field whose data type is **ValueType** and value is within the specified range.
A
annie_wangli 已提交
389 390 391

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

A
Annie_wang 已提交
392
**Parameters**
A
Annie_wang 已提交
393

A
Annie_wang 已提交
394 395 396 397 398
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | low | [ValueType](#valuetype) | Yes| Minimum value to match the **DataAbilityPredicates**.|
  | high | [ValueType](#valuetype) | Yes| Maximum value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
399

A
Annie_wang 已提交
400
**Return value**
A
Annie_wang 已提交
401

A
Annie_wang 已提交
402 403 404
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
405

A
Annie_wang 已提交
406
**Example**
A
Annie_wang 已提交
407

A
Annie_wang 已提交
408
  ```js
A
Annie_wang 已提交
409
  dataAbilityPredicates.between("AGE", 10, 50)
A
annie_wangli 已提交
410 411 412 413 414 415 416 417 418 419
  ```

### 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 已提交
420
**Parameters**
A
Annie_wang 已提交
421

A
Annie_wang 已提交
422 423 424 425 426
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | low | [ValueType](#valuetype) | Yes| Minimum value to match the **DataAbilityPredicates**.|
  | high | [ValueType](#valuetype) | Yes| Maximum value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
427

A
Annie_wang 已提交
428
**Return value**
A
Annie_wang 已提交
429

A
Annie_wang 已提交
430 431 432
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
433

A
Annie_wang 已提交
434
**Example**
A
Annie_wang 已提交
435

A
Annie_wang 已提交
436
  ```js
A
Annie_wang 已提交
437
  dataAbilityPredicates.notBetween("AGE", 10, 50)
A
annie_wangli 已提交
438 439 440 441 442 443 444 445 446 447
  ```

### 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 已提交
448
**Parameters**
A
Annie_wang 已提交
449

A
Annie_wang 已提交
450 451 452 453
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
454

A
Annie_wang 已提交
455
**Return value**
A
Annie_wang 已提交
456

A
Annie_wang 已提交
457 458 459
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
460

A
Annie_wang 已提交
461
**Example**
A
Annie_wang 已提交
462

A
Annie_wang 已提交
463
  ```js
A
Annie_wang 已提交
464
  dataAbilityPredicates.greaterThan("AGE", 18)
A
annie_wangli 已提交
465 466 467 468 469 470 471 472 473 474
  ```

### 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 已提交
475
**Parameters**
A
Annie_wang 已提交
476

A
Annie_wang 已提交
477 478 479 480
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
481

A
Annie_wang 已提交
482
**Return value**
A
Annie_wang 已提交
483

A
Annie_wang 已提交
484 485 486
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
487

A
Annie_wang 已提交
488
**Example**
A
Annie_wang 已提交
489

A
Annie_wang 已提交
490
  ```js
A
Annie_wang 已提交
491
  dataAbilityPredicates.lessThan("AGE", 20)
A
annie_wangli 已提交
492 493 494 495 496 497 498 499 500 501
  ```

### 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 已提交
502
**Parameters**
A
Annie_wang 已提交
503

A
Annie_wang 已提交
504 505 506 507
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
508

A
Annie_wang 已提交
509
**Return value**
A
Annie_wang 已提交
510

A
Annie_wang 已提交
511 512 513
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
514

A
Annie_wang 已提交
515
**Example**
A
Annie_wang 已提交
516

A
Annie_wang 已提交
517
  ```js
A
Annie_wang 已提交
518
  dataAbilityPredicates.greaterThanOrEqualTo("AGE", 18)
A
annie_wangli 已提交
519 520 521 522 523 524 525 526 527 528
  ```

### 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 已提交
529
**Parameters**
A
Annie_wang 已提交
530

A
Annie_wang 已提交
531 532 533 534
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | [ValueType](#valuetype) | Yes| Value to match the **DataAbilityPredicates**.|
A
annie_wangli 已提交
535

A
Annie_wang 已提交
536
**Return value**
A
Annie_wang 已提交
537

A
Annie_wang 已提交
538 539 540
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
541

A
Annie_wang 已提交
542
**Example**
A
Annie_wang 已提交
543

A
Annie_wang 已提交
544
  ```js
A
Annie_wang 已提交
545
  dataAbilityPredicates.lessThanOrEqualTo("AGE", 20)
A
annie_wangli 已提交
546 547 548 549 550 551 552 553 554 555
  ```

### 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 已提交
556
**Parameters**
A
Annie_wang 已提交
557

A
Annie_wang 已提交
558 559 560
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
annie_wangli 已提交
561

A
Annie_wang 已提交
562
**Return value**
A
Annie_wang 已提交
563

A
Annie_wang 已提交
564 565 566
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
567

A
Annie_wang 已提交
568
**Example**
A
Annie_wang 已提交
569

A
Annie_wang 已提交
570
  ```js
A
Annie_wang 已提交
571
  dataAbilityPredicates.orderByAsc("NAME")
A
annie_wangli 已提交
572 573 574 575 576 577 578 579 580 581
  ```

### 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 已提交
582
**Parameters**
A
Annie_wang 已提交
583

A
Annie_wang 已提交
584 585 586
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
A
annie_wangli 已提交
587

A
Annie_wang 已提交
588
**Return value**
A
Annie_wang 已提交
589

A
Annie_wang 已提交
590 591 592
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
593

A
Annie_wang 已提交
594
**Example**
A
Annie_wang 已提交
595

A
Annie_wang 已提交
596
  ```js
A
Annie_wang 已提交
597
  dataAbilityPredicates.orderByDesc("AGE")
A
annie_wangli 已提交
598 599 600 601 602 603 604 605 606 607
  ```

### distinct

distinct(): DataAbilityPredicates

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

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

A
Annie_wang 已提交
608
**Return value**
A
Annie_wang 已提交
609

A
Annie_wang 已提交
610 611 612
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that can filter out duplicate records.|
A
annie_wangli 已提交
613

A
Annie_wang 已提交
614
**Example**
A
Annie_wang 已提交
615

A
Annie_wang 已提交
616
  ```js
A
Annie_wang 已提交
617
  dataAbilityPredicates.equalTo("NAME", "Rose").distinct()
A
annie_wangli 已提交
618 619 620 621 622 623 624 625 626 627
  ```

### 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 已提交
628
**Parameters**
A
Annie_wang 已提交
629

A
Annie_wang 已提交
630 631 632
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | value | number | Yes| Maximum number of records.|
A
annie_wangli 已提交
633

A
Annie_wang 已提交
634
**Return value**
A
Annie_wang 已提交
635

A
Annie_wang 已提交
636 637 638
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the maximum number of records.|
A
annie_wangli 已提交
639

A
Annie_wang 已提交
640
**Example**
A
Annie_wang 已提交
641

A
Annie_wang 已提交
642
  ```js
A
Annie_wang 已提交
643
  dataAbilityPredicates.equalTo("NAME", "Rose").limitAs(3)
A
annie_wangli 已提交
644 645 646 647 648 649 650 651 652 653
  ```

### 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 已提交
654
**Parameters**
A
Annie_wang 已提交
655

A
Annie_wang 已提交
656 657 658
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | rowOffset | number | Yes| Number of rows to offset from the beginning. The value is a positive integer.|
A
annie_wangli 已提交
659

A
Annie_wang 已提交
660
**Return value**
A
Annie_wang 已提交
661

A
Annie_wang 已提交
662 663 664
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the start position of the returned result.|
A
annie_wangli 已提交
665

A
Annie_wang 已提交
666
**Example**
A
Annie_wang 已提交
667

A
Annie_wang 已提交
668
  ```js
A
Annie_wang 已提交
669
  dataAbilityPredicates.equalTo("NAME", "Rose").offsetAs(3)
A
annie_wangli 已提交
670 671 672 673 674 675 676 677 678 679 680
  ```


### 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 已提交
681
**Parameters**
A
Annie_wang 已提交
682

A
Annie_wang 已提交
683 684 685
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | fields | Array&lt;string&gt; | Yes| Names of columns to group.|
A
annie_wangli 已提交
686

A
Annie_wang 已提交
687
**Return value**
A
Annie_wang 已提交
688

A
Annie_wang 已提交
689 690 691
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that groups rows with the same value.|
A
annie_wangli 已提交
692

A
Annie_wang 已提交
693
**Example**
A
Annie_wang 已提交
694

A
Annie_wang 已提交
695
  ```js
A
Annie_wang 已提交
696
  dataAbilityPredicates.groupBy(["AGE", "NAME"])
A
annie_wangli 已提交
697 698 699 700 701 702
  ```

### indexedBy

indexedBy(field: string): DataAbilityPredicates

A
Annie_wang 已提交
703
Sets a **DataAbilityPredicates** object to specify the index column.
704

A
Annie_wang 已提交
705
**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
A
annie_wangli 已提交
706

A
Annie_wang 已提交
707
**Parameters**
A
Annie_wang 已提交
708

A
Annie_wang 已提交
709 710 711
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | indexName | string | Yes| Name of the index column.|
A
annie_wangli 已提交
712

A
Annie_wang 已提交
713
**Return value**
A
Annie_wang 已提交
714

A
Annie_wang 已提交
715 716 717
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that specifies the index column.|
A
annie_wangli 已提交
718

A
Annie_wang 已提交
719
**Example**
A
Annie_wang 已提交
720

A
Annie_wang 已提交
721
  ```js
A
Annie_wang 已提交
722
  dataAbilityPredicates.indexedBy("SALARY_INDEX")
A
annie_wangli 已提交
723 724 725 726 727 728
  ```

### in

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

729
Sets a **DataAbilityPredicates** object to match the field with data type Array\<ValueType> and value within the specified range.
A
annie_wangli 已提交
730 731 732

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

A
Annie_wang 已提交
733
**Parameters**
A
Annie_wang 已提交
734

A
Annie_wang 已提交
735 736 737 738
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | Array&lt;[ValueType](#valuetype)&gt; | Yes| Array of **ValueType**s to match.|
A
annie_wangli 已提交
739 740


A
Annie_wang 已提交
741
**Return value**
A
Annie_wang 已提交
742

A
Annie_wang 已提交
743 744 745
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
746

A
Annie_wang 已提交
747
**Example**
A
Annie_wang 已提交
748

A
Annie_wang 已提交
749
  ```js
A
Annie_wang 已提交
750
  dataAbilityPredicates.in("AGE", [18, 20])
A
annie_wangli 已提交
751 752 753 754 755 756
  ```

### notIn

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

757
Sets a **DataAbilityPredicates** object to match the field with data type Array\<ValueType> and value out of the specified range.
A
annie_wangli 已提交
758 759 760

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

A
Annie_wang 已提交
761
**Parameters**
A
Annie_wang 已提交
762

A
Annie_wang 已提交
763 764 765 766
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | field | string | Yes| Column name in the table.|
  | value | Array&lt;[ValueType](#valuetype)&gt; | Yes| Array of **ValueType**s to match.|
A
annie_wangli 已提交
767

A
Annie_wang 已提交
768
**Return value**
A
Annie_wang 已提交
769

A
Annie_wang 已提交
770 771 772
  | Type| Description|
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | **DataAbilityPredicates** object that matches the specified field.|
A
annie_wangli 已提交
773

A
Annie_wang 已提交
774
**Example**
A
Annie_wang 已提交
775

A
Annie_wang 已提交
776
  ```js
A
Annie_wang 已提交
777
  dataAbilityPredicates.notIn("NAME", ["Lisa", "Rose"])
A
annie_wangli 已提交
778
  ```
A
Annie_wang 已提交
779 780 781 782 783 784 785

## ValueType

Enumerates the value types.

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

A
Annie_wang 已提交
786
| Type   | Description                |
A
Annie_wang 已提交
787 788 789 790
| ------- | -------------------- |
| number  | The value is a number.  |
| string  | The value is a string.  |
| boolean | The value is of Boolean type.|