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

W
wuyongning 已提交
3 4
DataAbility 谓词用于构造关系型数据库的谓词,提供用于实现不同查询方法的谓词。

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

Z
zengyawen 已提交
9 10

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

G
ge-yafang 已提交
12 13
```js
import dataAbility from '@ohos.data.dataAbility';
Z
zengyawen 已提交
14 15 16
```


Z
zengyawen 已提交
17 18 19 20 21
## dataAbility.createRdbPredicates


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

Z
zengyawen 已提交
22

Z
zhumingxian 已提交
23
从DataAbilityPredicates对象创建RdbPredicates对象。
Z
zengyawen 已提交
24

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

G
ge-yafang 已提交
27
**参数:**
G
ge-yafang 已提交
28

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

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

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


## DataAbilityPredicates
Z
zengyawen 已提交
48 49 50 51

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


Z
zengyawen 已提交
52 53 54 55 56
### equalTo


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

Z
zengyawen 已提交
57 58 59

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

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

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

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

G
ge-yafang 已提交
73
**示例:**
G
ge-yafang 已提交
74
  ```js
75
  dataAbilityPredicates.equalTo("NAME", "lisi")
Z
zengyawen 已提交
76 77 78 79 80 81 82 83
  ```


### notEqualTo


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

Z
zengyawen 已提交
84 85 86

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

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

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

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

G
ge-yafang 已提交
100
**示例:**
G
ge-yafang 已提交
101
  ```js
102
  dataAbilityPredicates.notEqualTo("NAME", "lisi")
Z
zengyawen 已提交
103 104 105 106 107 108 109 110
  ```


### beginWrap


beginWrap(): DataAbilityPredicates

Z
zengyawen 已提交
111 112 113

向谓词添加左括号。

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

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

G
ge-yafang 已提交
121
**示例:**
G
ge-yafang 已提交
122
  ```js
123
  dataAbilityPredicates.equalTo("NAME", "lisi")
Z
zengyawen 已提交
124 125 126 127 128 129
      .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
149
  dataAbilityPredicates.equalTo("NAME", "lisi")
Z
zengyawen 已提交
150 151 152 153 154 155
      .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
175
  dataAbilityPredicates.equalTo("NAME", "Lisa")
Z
zengyawen 已提交
176 177 178
      .or()
      .equalTo("NAME", "Rose")
  ```
Z
zengyawen 已提交
179 180


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


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


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

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

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

G
ge-yafang 已提交
196
**示例:**
G
ge-yafang 已提交
197
  ```js
198
  dataAbilityPredicates.equalTo("NAME", "Lisa")
Z
zengyawen 已提交
199 200 201
      .and()
      .equalTo("SALARY", 200.5)
  ```
Z
zengyawen 已提交
202 203


Z
zengyawen 已提交
204
### contains
Z
zengyawen 已提交
205 206


Z
zengyawen 已提交
207 208
contains(field: string, value: string): DataAbilityPredicates

Z
zengyawen 已提交
209

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

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

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

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

G
ge-yafang 已提交
225
**示例:**
G
ge-yafang 已提交
226
  ```js
227
  dataAbilityPredicates.contains("NAME", "os")
Z
zengyawen 已提交
228 229 230 231 232 233 234 235
  ```


### beginsWith


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

Z
zengyawen 已提交
236

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

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

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

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

G
ge-yafang 已提交
252
**示例:**
G
ge-yafang 已提交
253
  ```js
254
  dataAbilityPredicates.beginsWith("NAME", "os")
Z
zengyawen 已提交
255 256 257 258 259 260 261 262
  ```


### endsWith


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

Z
zengyawen 已提交
263

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

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

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

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

G
ge-yafang 已提交
279
**示例:**
Z
zengyawen 已提交
280
  ```
281
  dataAbilityPredicates.endsWith("NAME", "se")
Z
zengyawen 已提交
282 283 284 285 286 287 288 289
  ```


### isNull


isNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
290 291 292

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

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

G
ge-yafang 已提交
295
**参数:**
Z
zengyawen 已提交
296 297 298 299
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
300
**返回值:**
Z
zengyawen 已提交
301 302 303 304
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
305
**示例:**
G
ge-yafang 已提交
306
  ```js
307
  dataAbilityPredicates.isNull("NAME")
Z
zengyawen 已提交
308 309 310 311 312 313 314 315
  ```


### isNotNull


isNotNull(field: string): DataAbilityPredicates

Z
zengyawen 已提交
316 317 318

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

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

G
ge-yafang 已提交
321
**参数:**
Z
zengyawen 已提交
322 323 324 325
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
326
**返回值:**
Z
zengyawen 已提交
327 328 329 330
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
331
**示例:**
G
ge-yafang 已提交
332
  ```js
333
  dataAbilityPredicates.isNotNull("NAME")
Z
zengyawen 已提交
334 335 336 337 338 339 340 341
  ```


### like


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

Z
zengyawen 已提交
342 343 344

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

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

G
ge-yafang 已提交
347
**参数:**
Z
zengyawen 已提交
348 349 350 351 352
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
353
**返回值:**
Z
zengyawen 已提交
354 355 356 357
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
358
**示例:**
G
ge-yafang 已提交
359
  ```js
360
  dataAbilityPredicates.like("NAME", "%os%")
Z
zengyawen 已提交
361 362 363 364 365 366 367 368
  ```


### glob


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

Z
zengyawen 已提交
369

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

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

G
ge-yafang 已提交
374
**参数:**
Z
zengyawen 已提交
375 376 377 378 379
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
  | value | string | 是 | 指示要与谓词匹配的值。 |

G
ge-yafang 已提交
380
**返回值:**
Z
zengyawen 已提交
381 382 383 384
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
385
**示例:**
G
ge-yafang 已提交
386
  ```js
387
  dataAbilityPredicates.glob("NAME", "?h*g")
Z
zengyawen 已提交
388 389 390 391 392 393 394 395
  ```


### between


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

Z
zengyawen 已提交
396

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

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

G
ge-yafang 已提交
401
**参数:**
Z
zengyawen 已提交
402 403 404
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
405 406
  | low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
  | high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
Z
zengyawen 已提交
407

G
ge-yafang 已提交
408
**返回值:**
Z
zengyawen 已提交
409 410 411 412
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
413
**示例:**
G
ge-yafang 已提交
414
  ```js
415
  dataAbilityPredicates.between("AGE", 10, 50)
Z
zengyawen 已提交
416 417 418 419 420 421 422 423
  ```


### notBetween


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

Z
zengyawen 已提交
424 425 426

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

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

G
ge-yafang 已提交
429
**参数:**
Z
zengyawen 已提交
430 431 432
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
433 434
  | low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
  | high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
Z
zengyawen 已提交
435

G
ge-yafang 已提交
436
**返回值:**
Z
zengyawen 已提交
437 438 439 440
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
441
**示例:**
G
ge-yafang 已提交
442
  ```js
443
  dataAbilityPredicates.notBetween("AGE", 10, 50)
Z
zengyawen 已提交
444 445 446 447 448 449 450 451
  ```


### greaterThan


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

Z
zengyawen 已提交
452 453 454

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

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

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

G
ge-yafang 已提交
463
**返回值:**
Z
zengyawen 已提交
464 465 466 467
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
468
**示例:**
G
ge-yafang 已提交
469
  ```js
470
  dataAbilityPredicates.greaterThan("AGE", 18)
Z
zengyawen 已提交
471 472 473 474 475 476 477 478
  ```


### lessThan


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

Z
zengyawen 已提交
479 480 481

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

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

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

G
ge-yafang 已提交
490
**返回值:**
Z
zengyawen 已提交
491 492 493 494
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
495
**示例:**
G
ge-yafang 已提交
496
  ```js
497
  dataAbilityPredicates.lessThan("AGE", 20)
Z
zengyawen 已提交
498 499 500 501 502 503 504 505
  ```


### greaterThanOrEqualTo


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

Z
zengyawen 已提交
506 507 508

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

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

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

G
ge-yafang 已提交
517
**返回值:**
Z
zengyawen 已提交
518 519 520 521
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
522
**示例:**
G
ge-yafang 已提交
523
  ```js
524
  dataAbilityPredicates.greaterThanOrEqualTo("AGE", 18)
Z
zengyawen 已提交
525 526 527 528 529 530 531 532
  ```


### lessThanOrEqualTo


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

Z
zengyawen 已提交
533 534 535

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

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

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

G
ge-yafang 已提交
544
**返回值:**
Z
zengyawen 已提交
545 546 547 548
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
549
**示例:**
G
ge-yafang 已提交
550
  ```js
551
  dataAbilityPredicates.lessThanOrEqualTo("AGE", 20)
Z
zengyawen 已提交
552 553 554 555 556 557 558 559
  ```


### orderByAsc


orderByAsc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
560 561 562

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

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

G
ge-yafang 已提交
565
**参数:**
Z
zengyawen 已提交
566 567 568 569
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
570
**返回值:**
Z
zengyawen 已提交
571 572 573 574
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
575
**示例:**
G
ge-yafang 已提交
576
  ```js
577
  dataAbilityPredicates.orderByAsc("NAME")
Z
zengyawen 已提交
578 579 580 581 582 583 584 585
  ```


### orderByDesc


orderByDesc(field: string): DataAbilityPredicates

Z
zengyawen 已提交
586 587 588

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

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

G
ge-yafang 已提交
591
**参数:**
Z
zengyawen 已提交
592 593 594 595
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |

G
ge-yafang 已提交
596
**返回值:**
Z
zengyawen 已提交
597 598 599 600
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
601
**示例:**
G
ge-yafang 已提交
602
  ```js
603
  dataAbilityPredicates.orderByDesc("AGE")
Z
zengyawen 已提交
604 605 606 607 608 609 610 611
  ```


### distinct


distinct(): DataAbilityPredicates

Z
zengyawen 已提交
612 613 614

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

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

G
ge-yafang 已提交
617
**返回值:**
Z
zengyawen 已提交
618 619 620
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回可用于过滤重复记录的谓词。 |
Z
zengyawen 已提交
621

G
ge-yafang 已提交
622
**示例:**
G
ge-yafang 已提交
623
  ```js
624
  dataAbilityPredicates.equalTo("NAME", "Rose").distinct()
Z
zengyawen 已提交
625
  ```
Z
zengyawen 已提交
626 627


Z
zengyawen 已提交
628
### limitAs
Z
zengyawen 已提交
629 630


Z
zengyawen 已提交
631 632
limitAs(value: number): DataAbilityPredicates

Z
zengyawen 已提交
633 634 635

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

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

G
ge-yafang 已提交
638
**参数:**
Z
zengyawen 已提交
639 640 641 642
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | value | number | 是 | 最大数据记录数。 |

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

G
ge-yafang 已提交
648
**示例:**
G
ge-yafang 已提交
649
  ```js
650
  dataAbilityPredicates.equalTo("NAME", "Rose").limitAs(3)
Z
zengyawen 已提交
651 652 653 654 655 656 657 658
  ```


### offsetAs


offsetAs(rowOffset: number): DataAbilityPredicates

Z
zengyawen 已提交
659 660 661

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

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

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

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

G
ge-yafang 已提交
674
**示例:**
G
ge-yafang 已提交
675
  ```js
676
  dataAbilityPredicates.equalTo("NAME", "Rose").offsetAs(3)
Z
zengyawen 已提交
677 678 679 680 681 682 683 684
  ```


### groupBy


groupBy(fields: Array<string>): 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
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | fields | Array<string> | 是 | 指定分组依赖的列名。 |

G
ge-yafang 已提交
695
**返回值:**
Z
zengyawen 已提交
696 697 698 699
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回分组查询列的谓词。 |

G
ge-yafang 已提交
700
**示例:**
G
ge-yafang 已提交
701
  ```js
702
  dataAbilityPredicates.groupBy(["AGE", "NAME"])
Z
zengyawen 已提交
703 704
  ```

W
wuyongning 已提交
705
### indexedBy
Z
zengyawen 已提交
706 707


W
wuyongning 已提交
708 709 710 711 712
indexedBy(field: string): DataAbilityPredicates


配置谓词以指定索引列。

713
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
W
wuyongning 已提交
714

G
ge-yafang 已提交
715
**参数:**
W
wuyongning 已提交
716 717 718 719
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | indexName | string | 是 | 索引列的名称。 |

G
ge-yafang 已提交
720
**返回值:**
W
wuyongning 已提交
721 722 723 724
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回具有指定索引列的谓词。 |

G
ge-yafang 已提交
725
**示例:**
G
ge-yafang 已提交
726
  ```js
727
  dataAbilityPredicates.indexedBy("SALARY_INDEX")
W
wuyongning 已提交
728 729
  ```

Z
zengyawen 已提交
730 731 732 733 734 735

### in


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

Z
zengyawen 已提交
736 737 738

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

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

G
ge-yafang 已提交
741
**参数:**
Z
zengyawen 已提交
742 743 744
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | field | string | 是 | 数据库表中的列名。 |
G
ge-yafang 已提交
745
  | value | Array<[ValueType](#valuetype)> | 是 | 以ValueType类型数组形式指定的要匹配的值。 |
Z
zengyawen 已提交
746 747


G
ge-yafang 已提交
748
**返回值:**
Z
zengyawen 已提交
749 750 751 752
  | 类型 | 说明 |
  | -------- | -------- |
  | [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |

G
ge-yafang 已提交
753
**示例:**
G
ge-yafang 已提交
754
  ```js
755
  dataAbilityPredicates.in("AGE", [18, 20])
Z
zengyawen 已提交
756 757 758 759 760 761 762 763
  ```


### notIn


notIn(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
783
  dataAbilityPredicates.notIn("NAME", ["Lisa", "Rose"])
Z
zengyawen 已提交
784
  ```
Z
zengyawen 已提交
785

G
ge-yafang 已提交
786 787 788 789
## ValueType

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

G
ge-yafang 已提交
790
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
G
ge-yafang 已提交
791 792 793 794 795 796

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