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

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

G
ge-yafang 已提交
35
**示例:**
G
ge-yafang 已提交
36
  ```js
Z
zengyawen 已提交
37 38 39 40 41 42 43
  let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
  dataAbilityPredicates.equalTo("NAME", "Rose").between("AGE", 16, 30)
  let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
  ```


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

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


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


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

Z
zengyawen 已提交
53 54 55

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

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

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

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

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


### notEqualTo


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

Z
zengyawen 已提交
81 82 83

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

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

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

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

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


### beginWrap


beginWrap(): DataAbilityPredicates

Z
zengyawen 已提交
109 110 111

向谓词添加左括号。

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

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

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


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


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

Z
zengyawen 已提交
136 137 138

向谓词添加右括号。

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

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

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


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


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


将或条件添加到谓词中。

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

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

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


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


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


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

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

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

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


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


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

Z
zengyawen 已提交
211

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

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

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

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

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


### beginsWith


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

Z
zengyawen 已提交
239

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

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

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

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

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


### endsWith


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

Z
zengyawen 已提交
267

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

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

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

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

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


### isNull


isNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
295 296 297

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

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

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

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

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


### isNotNull


isNotNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
322 323 324

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

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

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

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

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


### like


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

Z
zengyawen 已提交
349 350 351

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

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

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

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

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


### glob


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

Z
zengyawen 已提交
377

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

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

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

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

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


### between


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

Z
zengyawen 已提交
405

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

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

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

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

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


### notBetween


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

Z
zengyawen 已提交
434 435 436

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

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

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

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

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


### greaterThan


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

Z
zengyawen 已提交
463 464 465

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

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

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

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

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


### lessThan


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

Z
zengyawen 已提交
491 492 493

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

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

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

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

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


### greaterThanOrEqualTo


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

Z
zengyawen 已提交
519 520 521

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

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

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

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

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


### lessThanOrEqualTo


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

Z
zengyawen 已提交
547 548 549

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

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

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

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

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


### orderByAsc


orderByAsc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
575 576 577

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

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

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

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

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


### orderByDesc


orderByDesc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
602 603 604

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

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

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

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

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


### distinct


distinct(): DataAbilityPredicates

Z
zengyawen 已提交
629 630 631

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

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

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

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


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


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

Z
zengyawen 已提交
657 658 659

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

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

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

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

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


### offsetAs


offsetAs(rowOffset: number): DataAbilityPredicates

Z
zengyawen 已提交
684 685 686

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

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

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

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

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


### groupBy


groupBy(fields: Array<string>): DataAbilityPredicates

Z
zengyawen 已提交
711 712 713

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

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

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

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

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

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


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


配置谓词以指定索引列。


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

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

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

Z
zengyawen 已提交
757 758 759 760 761 762

### in


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

Z
zengyawen 已提交
763 764 765

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

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

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


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

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


### notIn


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

Z
zengyawen 已提交
792 793 794

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

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

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


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

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

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

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

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

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