js-apis-data-ability.md 21.2 KB
Newer Older
Z
zengyawen 已提交
1
# DataAbility 谓词
Z
zengyawen 已提交
2

G
ge-yafang 已提交
3
> **说明:**
Z
zengyawen 已提交
4
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
5

Z
zengyawen 已提交
6 7

## 导入模块
Z
zengyawen 已提交
8

G
ge-yafang 已提交
9 10
```js
import dataAbility from '@ohos.data.dataAbility';
Z
zengyawen 已提交
11 12 13
```


Z
zengyawen 已提交
14 15 16 17 18
## dataAbility.createRdbPredicates


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

Z
zengyawen 已提交
19 20 21

从DataAabilityPredicates对象创建RdbPredicates对象。

G
ge-yafang 已提交
22
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
23

G
ge-yafang 已提交
24
**参数:**
G
ge-yafang 已提交
25

Z
zengyawen 已提交
26 27
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
G
ge-yafang 已提交
28 29
  | name | string | 是 | 数据库表中的表名。 |
  | dataAbilityPredicates | [DataAbilityPredicates](#dataabilitypredicates) | 是 | DataAbility谓词。 |
Z
zengyawen 已提交
30

G
ge-yafang 已提交
31
**返回值:**
Z
zengyawen 已提交
32 33 34 35
  | 类型 | 说明 |
  | -------- | -------- |
  | rdb.[RdbPredicates](js-apis-data-rdb.md#rdbpredicates) | 返回RdbPredicates对象。 |

G
ge-yafang 已提交
36
**示例:**
G
ge-yafang 已提交
37
  ```js
Z
zengyawen 已提交
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

提供用于实现不同查询方法的谓词。


Z
zengyawen 已提交
49 50 51 52 53
### equalTo


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

Z
zengyawen 已提交
54 55 56

配置谓词以匹配数据类型为ValueType且值等于指定值的字段。

G
ge-yafang 已提交
57
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
58

G
ge-yafang 已提交
59
**参数:**
Z
zengyawen 已提交
60 61 62
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
63
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
64

G
ge-yafang 已提交
65
**返回值:**
Z
zengyawen 已提交
66 67 68 69
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
70
**示例:**
G
ge-yafang 已提交
71
  ```js
Z
zengyawen 已提交
72 73 74 75 76 77 78 79 80 81
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
  ```


### notEqualTo


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

Z
zengyawen 已提交
82 83 84

配置谓词以匹配数据类型为ValueType且值不等于指定值的字段。

G
ge-yafang 已提交
85
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
86

G
ge-yafang 已提交
87
**参数:**
Z
zengyawen 已提交
88 89 90
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
91
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
92

G
ge-yafang 已提交
93
**返回值:**
Z
zengyawen 已提交
94 95 96 97
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
98
**示例:**
G
ge-yafang 已提交
99
  ```js
Z
zengyawen 已提交
100 101 102 103 104 105 106 107 108 109
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notEqualTo("NAME", "lisi")
  ```


### beginWrap


beginWrap(): DataAbilityPredicates

Z
zengyawen 已提交
110 111 112

向谓词添加左括号。

G
ge-yafang 已提交
113
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
114

G
ge-yafang 已提交
115
**返回值:**
Z
zengyawen 已提交
116 117 118
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回带有左括号的DataAbility谓词。 |
Z
zengyawen 已提交
119

G
ge-yafang 已提交
120
**示例:**
G
ge-yafang 已提交
121
  ```js
Z
zengyawen 已提交
122 123 124 125 126 127 128 129
  let predicates = new dataAbilitylity.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
      .beginWrap()
      .equalTo("AGE", 18)
      .or()
      .equalTo("SALARY", 200.5)
      .endWrap()
  ```
Z
zengyawen 已提交
130 131


Z
zengyawen 已提交
132
### endWrap
Z
zengyawen 已提交
133 134


Z
zengyawen 已提交
135 136
endWrap(): DataAbilityPredicates

Z
zengyawen 已提交
137 138 139

向谓词添加右括号。

G
ge-yafang 已提交
140
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
141

G
ge-yafang 已提交
142
**返回值:**
Z
zengyawen 已提交
143 144 145 146
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回带有右括号的DataAbility谓词。 |

G
ge-yafang 已提交
147
**示例:**
G
ge-yafang 已提交
148
  ```js
Z
zengyawen 已提交
149 150 151 152 153 154 155 156
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "lisi")
      .beginWrap()
      .equalTo("AGE", 18)
      .or()
      .equalTo("SALARY", 200.5)
      .endWrap()
  ```
Z
zengyawen 已提交
157 158


Z
zengyawen 已提交
159
### or
Z
zengyawen 已提交
160 161


Z
zengyawen 已提交
162
or(): DataAbilityPredicates
Z
zengyawen 已提交
163 164 165 166


将或条件添加到谓词中。

G
ge-yafang 已提交
167
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
168

G
ge-yafang 已提交
169
**返回值:**
Z
zengyawen 已提交
170 171 172 173
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回带有或条件的DataAbility谓词。 |

G
ge-yafang 已提交
174
**示例:**
G
ge-yafang 已提交
175
  ```js
Z
zengyawen 已提交
176 177 178 179 180
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Lisa")
      .or()
      .equalTo("NAME", "Rose")
  ```
Z
zengyawen 已提交
181 182


Z
zengyawen 已提交
183
### and
Z
zengyawen 已提交
184 185


Z
zengyawen 已提交
186
and(): DataAbilityPredicates
Z
zengyawen 已提交
187 188


G
ge-yafang 已提交
189
将和条件添加到谓词中。
Z
zengyawen 已提交
190

G
ge-yafang 已提交
191
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
192

G
ge-yafang 已提交
193
**返回值:**
Z
zengyawen 已提交
194 195 196
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回带有和条件的DataAbility谓词。 |
Z
zengyawen 已提交
197

G
ge-yafang 已提交
198
**示例:**
G
ge-yafang 已提交
199
  ```js
Z
zengyawen 已提交
200 201 202 203 204
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Lisa")
      .and()
      .equalTo("SALARY", 200.5)
  ```
Z
zengyawen 已提交
205 206


Z
zengyawen 已提交
207
### contains
Z
zengyawen 已提交
208 209


Z
zengyawen 已提交
210 211
contains(field: string, value: string): DataAbilityPredicates

Z
zengyawen 已提交
212

G
ge-yafang 已提交
213
配置谓词以匹配数据类型为string且value包含指定值的字段。
Z
zengyawen 已提交
214

G
ge-yafang 已提交
215
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
216

G
ge-yafang 已提交
217
**参数:**
Z
zengyawen 已提交
218 219 220 221 222
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
223
**返回值:**
Z
zengyawen 已提交
224 225 226 227
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
228
**示例:**
G
ge-yafang 已提交
229
  ```js
Z
zengyawen 已提交
230 231 232 233 234 235 236 237 238 239
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.contains("NAME", "os")
  ```


### beginsWith


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

Z
zengyawen 已提交
240

G
ge-yafang 已提交
241
配置谓词以匹配数据类型为string且值以指定字符串开头的字段。
Z
zengyawen 已提交
242

G
ge-yafang 已提交
243
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
244

G
ge-yafang 已提交
245
**参数:**
Z
zengyawen 已提交
246 247 248 249 250
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
251
**返回值:**
Z
zengyawen 已提交
252 253 254 255
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
256
**示例:**
G
ge-yafang 已提交
257
  ```js
Z
zengyawen 已提交
258 259 260 261 262 263 264 265 266 267
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.beginsWith("NAME", "os")
  ```


### endsWith


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

Z
zengyawen 已提交
268

G
ge-yafang 已提交
269
配置谓词以匹配数据类型为string且值以指定字符串结尾的字段。
Z
zengyawen 已提交
270

G
ge-yafang 已提交
271
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
272

G
ge-yafang 已提交
273
**参数:**
Z
zengyawen 已提交
274 275 276 277 278
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
279
**返回值:**
Z
zengyawen 已提交
280 281 282 283
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
284
**示例:**
Z
zengyawen 已提交
285 286 287 288 289 290 291 292 293 294 295
  ```
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.endsWith("NAME", "se")
  ```


### isNull


isNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
296 297 298

配置谓词以匹配值为null的字段。

G
ge-yafang 已提交
299
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
300

G
ge-yafang 已提交
301
**参数:**
Z
zengyawen 已提交
302 303 304 305
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
306
**返回值:**
Z
zengyawen 已提交
307 308 309 310
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
311
**示例:**
G
ge-yafang 已提交
312
  ```js
Z
zengyawen 已提交
313 314 315 316 317 318 319 320 321 322
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.isNull("NAME")
  ```


### isNotNull


isNotNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
323 324 325

配置谓词以匹配值不为null的指定字段。

G
ge-yafang 已提交
326
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
327

G
ge-yafang 已提交
328
**参数:**
Z
zengyawen 已提交
329 330 331 332
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
333
**返回值:**
Z
zengyawen 已提交
334 335 336 337
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
338
**示例:**
G
ge-yafang 已提交
339
  ```js
Z
zengyawen 已提交
340 341 342 343 344 345 346 347 348 349
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.isNotNull("NAME")
  ```


### like


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

Z
zengyawen 已提交
350 351 352

配置谓词以匹配数据类型为string且值类似于指定字符串的字段。

G
ge-yafang 已提交
353
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
354

G
ge-yafang 已提交
355
**参数:**
Z
zengyawen 已提交
356 357 358 359 360
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
361
**返回值:**
Z
zengyawen 已提交
362 363 364 365
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
366
**示例:**
G
ge-yafang 已提交
367
  ```js
Z
zengyawen 已提交
368 369 370 371 372 373 374 375 376 377
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.like("NAME", "%os%")
  ```


### glob


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

Z
zengyawen 已提交
378

G
ge-yafang 已提交
379
配置谓词以匹配数据类型为string的指定字段。
Z
zengyawen 已提交
380

G
ge-yafang 已提交
381
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
382

G
ge-yafang 已提交
383
**参数:**
Z
zengyawen 已提交
384 385 386 387 388
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
389
**返回值:**
Z
zengyawen 已提交
390 391 392 393
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
394
**示例:**
G
ge-yafang 已提交
395
  ```js
Z
zengyawen 已提交
396 397 398 399 400 401 402 403 404 405
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.glob("NAME", "?h*g")
  ```


### between


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

Z
zengyawen 已提交
406

G
ge-yafang 已提交
407
配置谓词以匹配数据类型为ValueType且value在指定范围内的指定字段。
Z
zengyawen 已提交
408

G
ge-yafang 已提交
409
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
410

G
ge-yafang 已提交
411
**参数:**
Z
zengyawen 已提交
412 413 414
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
415 416
  | low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
  | high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
Z
zengyawen 已提交
417

G
ge-yafang 已提交
418
**返回值:**
Z
zengyawen 已提交
419 420 421 422
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
423
**示例:**
G
ge-yafang 已提交
424
  ```js
Z
zengyawen 已提交
425 426 427 428 429 430 431 432 433 434
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.between("AGE", 10, 50)
  ```


### notBetween


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

Z
zengyawen 已提交
435 436 437

配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段。

G
ge-yafang 已提交
438
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
439

G
ge-yafang 已提交
440
**参数:**
Z
zengyawen 已提交
441 442 443
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
444 445
  | low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
  | high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
Z
zengyawen 已提交
446

G
ge-yafang 已提交
447
**返回值:**
Z
zengyawen 已提交
448 449 450 451
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
452
**示例:**
G
ge-yafang 已提交
453
  ```js
Z
zengyawen 已提交
454 455 456 457 458 459 460 461 462 463
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notBetween("AGE", 10, 50)
  ```


### greaterThan


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

Z
zengyawen 已提交
464 465 466

配置谓词以匹配数据类型为ValueType且值大于指定值的字段。

G
ge-yafang 已提交
467
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
468

G
ge-yafang 已提交
469
**参数:**
Z
zengyawen 已提交
470 471 472
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
473
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
474

G
ge-yafang 已提交
475
**返回值:**
Z
zengyawen 已提交
476 477 478 479
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
480
**示例:**
G
ge-yafang 已提交
481
  ```js
Z
zengyawen 已提交
482 483 484 485 486 487 488 489 490 491
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.greaterThan("AGE", 18)
  ```


### lessThan


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

Z
zengyawen 已提交
492 493 494

配置谓词以匹配数据类型为valueType且value小于指定值的字段。

G
ge-yafang 已提交
495
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
496

G
ge-yafang 已提交
497
**参数:**
Z
zengyawen 已提交
498 499 500
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
501
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
502

G
ge-yafang 已提交
503
**返回值:**
Z
zengyawen 已提交
504 505 506 507
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
508
**示例:**
G
ge-yafang 已提交
509
  ```js
Z
zengyawen 已提交
510 511 512 513 514 515 516 517 518 519
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.lessThan("AGE", 20)
  ```


### greaterThanOrEqualTo


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

Z
zengyawen 已提交
520 521 522

配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段。

G
ge-yafang 已提交
523
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
524

G
ge-yafang 已提交
525
**参数:**
Z
zengyawen 已提交
526 527 528
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
529
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
530

G
ge-yafang 已提交
531
**返回值:**
Z
zengyawen 已提交
532 533 534 535
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
536
**示例:**
G
ge-yafang 已提交
537
  ```js
Z
zengyawen 已提交
538 539 540 541 542 543 544 545 546 547
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.greaterThanOrEqualTo("AGE", 18)
  ```


### lessThanOrEqualTo


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

Z
zengyawen 已提交
548 549 550

配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。

G
ge-yafang 已提交
551
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
552

G
ge-yafang 已提交
553
**参数:**
Z
zengyawen 已提交
554 555 556
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
557
  | value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
Z
zengyawen 已提交
558

G
ge-yafang 已提交
559
**返回值:**
Z
zengyawen 已提交
560 561 562 563
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
564
**示例:**
G
ge-yafang 已提交
565
  ```js
Z
zengyawen 已提交
566 567 568 569 570 571 572 573 574 575
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.lessThanOrEqualTo("AGE", 20)
  ```


### orderByAsc


orderByAsc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
576 577 578

配置谓词以匹配其值按升序排序的列。

G
ge-yafang 已提交
579
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
580

G
ge-yafang 已提交
581
**参数:**
Z
zengyawen 已提交
582 583 584 585
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
586
**返回值:**
Z
zengyawen 已提交
587 588 589 590
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
591
**示例:**
G
ge-yafang 已提交
592
  ```js
Z
zengyawen 已提交
593 594 595 596 597 598 599 600 601 602
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.orderByAsc("NAME")
  ```


### orderByDesc


orderByDesc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
603 604 605

配置谓词以匹配其值按降序排序的列。

G
ge-yafang 已提交
606
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
607

G
ge-yafang 已提交
608
**参数:**
Z
zengyawen 已提交
609 610 611 612
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
613
**返回值:**
Z
zengyawen 已提交
614 615 616 617
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
618
**示例:**
G
ge-yafang 已提交
619
  ```js
Z
zengyawen 已提交
620 621 622 623 624 625 626 627 628 629
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.orderByDesc("AGE")
  ```


### distinct


distinct(): DataAbilityPredicates

Z
zengyawen 已提交
630 631 632

配置谓词以过滤重复记录并仅保留其中一个。

G
ge-yafang 已提交
633
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
634

G
ge-yafang 已提交
635
**返回值:**
Z
zengyawen 已提交
636 637 638
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回可用于过滤重复记录的谓词。 |
Z
zengyawen 已提交
639

G
ge-yafang 已提交
640
**示例:**
G
ge-yafang 已提交
641
  ```js
Z
zengyawen 已提交
642 643
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").distinct("NAME")
W
wuyongning 已提交
644 645 646 647 648 649
  let promiseDistinct =  rdbStore.query(predicates, ["NAME"])
  promiseDistinct.then((resultSet) => {   
      console.log("distinct")
  }).catch((err) => {
      expect(null).assertFail();
  })
Z
zengyawen 已提交
650
  ```
Z
zengyawen 已提交
651 652


Z
zengyawen 已提交
653
### limitAs
Z
zengyawen 已提交
654 655


Z
zengyawen 已提交
656 657
limitAs(value: number): DataAbilityPredicates

Z
zengyawen 已提交
658 659 660

设置最大数据记录数的谓词。

G
ge-yafang 已提交
661
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
662

G
ge-yafang 已提交
663
**参数:**
Z
zengyawen 已提交
664 665 666 667
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | value | number | 是 | 最大数据记录数。 |

G
ge-yafang 已提交
668
**返回值:**
Z
zengyawen 已提交
669 670 671 672
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回可用于设置最大数据记录数的谓词。 |

G
ge-yafang 已提交
673
**示例:**
G
ge-yafang 已提交
674
  ```js
Z
zengyawen 已提交
675 676 677 678 679 680 681 682 683 684
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").limitAs(3)
  ```


### offsetAs


offsetAs(rowOffset: number): DataAbilityPredicates

Z
zengyawen 已提交
685 686 687

配置谓词以指定返回结果的起始位置。

G
ge-yafang 已提交
688
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
689

G
ge-yafang 已提交
690
**参数:**
Z
zengyawen 已提交
691 692 693 694
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | rowOffset | number | 是 | 返回结果的起始位置,取值为正整数。 |

G
ge-yafang 已提交
695
**返回值:**
Z
zengyawen 已提交
696 697 698 699
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回具有指定返回结果起始位置的谓词。 |

G
ge-yafang 已提交
700
**示例:**
G
ge-yafang 已提交
701
  ```js
Z
zengyawen 已提交
702 703 704 705 706 707 708 709 710 711
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.equalTo("NAME", "Rose").offsetAs(3)
  ```


### groupBy


groupBy(fields: Array<string>): DataAbilityPredicates

Z
zengyawen 已提交
712 713 714

配置谓词按指定列分组查询结果。

G
ge-yafang 已提交
715
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
716

G
ge-yafang 已提交
717
**参数:**
Z
zengyawen 已提交
718 719 720 721
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | fields | Array<string> | 是 | 指定分组依赖的列名。 |

G
ge-yafang 已提交
722
**返回值:**
Z
zengyawen 已提交
723 724 725 726
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回分组查询列的谓词。 |

G
ge-yafang 已提交
727
**示例:**
G
ge-yafang 已提交
728
  ```js
Z
zengyawen 已提交
729 730 731 732
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.groupBy(["AGE", "NAME"])
  ```

W
wuyongning 已提交
733
### indexedBy
Z
zengyawen 已提交
734 735


W
wuyongning 已提交
736 737 738 739 740 741
indexedBy(field: string): DataAbilityPredicates


配置谓词以指定索引列。


G
ge-yafang 已提交
742
**参数:**
W
wuyongning 已提交
743 744 745 746
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | indexName | string | 是 | 索引列的名称。 |

G
ge-yafang 已提交
747
**返回值:**
W
wuyongning 已提交
748 749 750 751
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回具有指定索引列的谓词。 |

G
ge-yafang 已提交
752
**示例:**
G
ge-yafang 已提交
753
  ```js
W
wuyongning 已提交
754 755 756 757
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.indexedBy("SALARY_INDEX")
  ```

Z
zengyawen 已提交
758 759 760 761 762 763

### in


in(field: string, value: Array<ValueType>): DataAbilityPredicates

Z
zengyawen 已提交
764 765 766

配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。

G
ge-yafang 已提交
767
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
768

G
ge-yafang 已提交
769
**参数:**
Z
zengyawen 已提交
770 771 772
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
773
  | value | Array<[ValueType](#valuetype)> | 是 | 以ValueType类型数组形式指定的要匹配的值。 |
Z
zengyawen 已提交
774 775


G
ge-yafang 已提交
776
**返回值:**
Z
zengyawen 已提交
777 778 779 780
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
781
**示例:**
G
ge-yafang 已提交
782
  ```js
Z
zengyawen 已提交
783 784 785 786 787 788 789 790 791 792
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.in("AGE", [18, 20])
  ```


### notIn


notIn(field: string, value: Array<ValueType>): DataAbilityPredicates

Z
zengyawen 已提交
793 794 795

配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。

G
ge-yafang 已提交
796
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
Z
zengyawen 已提交
797

G
ge-yafang 已提交
798
**参数:**
Z
zengyawen 已提交
799 800 801
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
802
  | value | Array<[ValueType](#valuetype)> | 是 | 以ValueType类型数组形式指定的要匹配的值。 |
Z
zengyawen 已提交
803 804


G
ge-yafang 已提交
805
**返回值:**
Z
zengyawen 已提交
806 807 808 809
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
810
**示例:**
G
ge-yafang 已提交
811
  ```js
Z
zengyawen 已提交
812 813 814
  let predicates = new dataAbility.DataAbilityPredicates("EMPLOYEE")
  predicates.notIn("NAME", ["Lisa", "Rose"])
  ```
Z
zengyawen 已提交
815

G
ge-yafang 已提交
816 817 818 819
## ValueType

用于表示允许的数据字段类型。

G
ge-yafang 已提交
820
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
G
ge-yafang 已提交
821 822 823 824 825 826

| 名称    | 说明                 |
| ------- | -------------------- |
| number  | 表示值类型为数字。   |
| string  | 表示值类型为字符。   |
| boolean | 表示值类型为布尔值。 |