js-apis-data-dataSharePredicates.md 29.1 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.data.dataSharePredicates (数据共享谓词)
S
songruirui 已提交
2

N
fix  
niudongyao 已提交
3
**谓词(DataSharePredicates)** 是开发者通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据([update](js-apis-data-dataShare.md#update))、删除数据([delete](js-apis-data-dataShare.md#delete))和查询数据([query](js-apis-data-dataShare.md#query))中。
S
songruirui 已提交
4

N
fix  
niudongyao 已提交
5
谓词的接口函数与数据库的筛选条件一一对应,开发者在使用前需了解数据库相关知识。
6

7
> **说明:** 
S
songruirui 已提交
8
>
9
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10

S
songruirui 已提交
11 12 13 14


## 导入模块

15
```ts
S
songruirui 已提交
16
import dataSharePredicates from '@ohos.data.dataSharePredicates';
S
songruirui 已提交
17 18
```

G
ge-yafang 已提交
19
## DataSharePredicates
W
wangdengze 已提交
20
提供用于不同实现不同查询方法的数据共享谓词。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。
G
ge-yafang 已提交
21

S
srr101 已提交
22
### equalTo<sup>10+</sup>
S
songruirui 已提交
23

S
songruirui 已提交
24
equalTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
25

26
该接口用于配置谓词以匹配值等于指定值的字段。
S
songruirui 已提交
27 28

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
29

S
songruirui 已提交
30
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
31 32 33

**参数:**

S
songruirui 已提交
34 35 36
| 参数名 | 类型                                                | 必填 | 说明                   |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field  | string                                              | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
37
| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
38 39 40

**返回值:**

S
songruirui 已提交
41 42 43
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
44 45 46

**示例:**

47
```ts
S
songruirui 已提交
48 49
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "Rose")
S
songruirui 已提交
50 51
```

G
ge-yafang 已提交
52
### notEqualTo
S
songruirui 已提交
53

S
songruirui 已提交
54
notEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
55

56
该接口用于配置谓词以匹配值不等于指定值的字段。
S
songruirui 已提交
57

S
songruirui 已提交
58
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
59

60 61
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
62
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
63 64 65

**参数:**

S
songruirui 已提交
66 67 68
| 参数名 | 类型                                                | 必填 | 说明                   |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field  | string                                              | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
69
| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
70 71 72

**返回值:**

S
songruirui 已提交
73 74 75
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
76 77 78

**示例:**

79
```ts
S
songruirui 已提交
80 81
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.notEqualTo("NAME", "Rose")
S
songruirui 已提交
82 83
```

G
ge-yafang 已提交
84
### beginWrap
S
songruirui 已提交
85

S
songruirui 已提交
86
beginWrap(): DataSharePredicates
S
songruirui 已提交
87

88 89 90
该接口用于向谓词添加左括号。

目前仅RDB支持该谓词。
S
songruirui 已提交
91

92 93
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
94
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
95 96 97

**返回值:**

S
songruirui 已提交
98 99 100
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有左括号的谓词。 |
S
songruirui 已提交
101 102 103

**示例:**

104
```ts
S
songruirui 已提交
105 106
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
107 108 109 110 111 112 113
    .beginWrap()
    .equalTo("AGE", 18)
    .or()
    .equalTo("SALARY", 200.5)
    .endWrap()
```

G
ge-yafang 已提交
114
### endWrap
S
songruirui 已提交
115

S
songruirui 已提交
116
endWrap(): DataSharePredicates
S
songruirui 已提交
117

118 119 120
该接口用于向谓词添加右括号。

目前仅RDB支持该谓词。
S
songruirui 已提交
121

122 123
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
124
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
125 126 127

**返回值:**

S
songruirui 已提交
128 129 130
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 |
S
songruirui 已提交
131 132 133

**示例:**

134
```ts
S
songruirui 已提交
135 136
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
137 138 139 140 141 142 143
    .beginWrap()
    .equalTo("AGE", 18)
    .or()
    .equalTo("SALARY", 200.5)
    .endWrap()
```

G
ge-yafang 已提交
144
### or
S
songruirui 已提交
145

S
songruirui 已提交
146
or(): DataSharePredicates
S
songruirui 已提交
147

S
songruirui 已提交
148 149 150
该接口用于将或条件添加到谓词中。

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
151

152 153
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
154
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
155 156 157

**返回值:**

S
songruirui 已提交
158 159 160
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 |
S
songruirui 已提交
161 162 163

**示例:**

164
```ts
S
songruirui 已提交
165 166
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
167 168 169 170
    .or()
    .equalTo("NAME", "Rose")
```

S
srr101 已提交
171
### and<sup>10+</sup>
S
songruirui 已提交
172

S
songruirui 已提交
173
and(): DataSharePredicates
S
songruirui 已提交
174

S
songruirui 已提交
175 176 177
该接口用于将和条件添加到谓词中。

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
178

S
songruirui 已提交
179
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
180 181 182

**返回值:**

S
songruirui 已提交
183 184 185
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 |
S
songruirui 已提交
186 187 188

**示例:**

189
```ts
S
songruirui 已提交
190 191
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
192 193 194 195
    .and()
    .equalTo("SALARY", 200.5)
```

G
ge-yafang 已提交
196
### contains
S
songruirui 已提交
197

S
songruirui 已提交
198
contains(field: string, value: string): DataSharePredicates
S
songruirui 已提交
199

200
该接口用于配置谓词以匹配值包含指定字段的字段。
201 202

目前仅RDB支持该谓词。
S
songruirui 已提交
203

204 205
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
206
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
207 208 209

**参数:**

S
songruirui 已提交
210 211 212 213
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| field  | string | 是   | 数据库表中的列名。   |
| value  | string | 是   | 指示值中包含该字段。 |
S
songruirui 已提交
214 215 216

**返回值:**

S
songruirui 已提交
217 218 219
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
220 221 222

**示例:**

223
```ts
S
songruirui 已提交
224 225
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.contains("NAME", "os")
S
songruirui 已提交
226 227
```

G
ge-yafang 已提交
228
### beginsWith
S
songruirui 已提交
229

S
songruirui 已提交
230
beginsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
231

232 233 234
该接口用于配置谓词以匹配值以指定字符串起始的字段。

目前仅RDB支持该谓词。
S
songruirui 已提交
235

236 237
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
238
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
239 240 241 242 243 244

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
S
songruirui 已提交
245
| value  | string | 是   | 指示值以该字符串起始。 |
S
songruirui 已提交
246 247 248

**返回值:**

S
songruirui 已提交
249 250 251
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
252 253 254

**示例:**

255
```ts
S
songruirui 已提交
256 257
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.beginsWith("NAME", "os")
S
songruirui 已提交
258 259
```

G
ge-yafang 已提交
260
### endsWith
S
songruirui 已提交
261

S
songruirui 已提交
262
endsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
263

264 265 266
该接口用于配置谓词以匹配值以指定字符串结尾的字段。

目前仅RDB支持该谓词。
S
songruirui 已提交
267

268 269
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
270
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
271 272 273 274 275 276

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
S
songruirui 已提交
277
| value  | string | 是   | 指示值以该字符串结尾。 |
S
songruirui 已提交
278 279 280

**返回值:**

S
songruirui 已提交
281 282 283
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
284 285 286

**示例:**

287
```ts
S
songruirui 已提交
288 289
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.endsWith("NAME", "os")
S
songruirui 已提交
290 291
```

G
ge-yafang 已提交
292
### isNull
S
songruirui 已提交
293

S
songruirui 已提交
294
isNull(field: string): DataSharePredicates
S
songruirui 已提交
295 296

该接口用于配置谓词以匹配值为null的字段。
S
songruirui 已提交
297

S
songruirui 已提交
298
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
299

300 301
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
302
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
303 304 305 306 307 308 309 310 311

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| field  | string | 是   | 数据库表中的列名。 |

**返回值:**

S
songruirui 已提交
312 313 314
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
315 316 317

**示例:**

318
```ts
S
songruirui 已提交
319 320
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.isNull("NAME")
S
songruirui 已提交
321 322
```

G
ge-yafang 已提交
323
### isNotNull
S
songruirui 已提交
324

S
songruirui 已提交
325
isNotNull(field: string): DataSharePredicates
S
songruirui 已提交
326

327
该接口用于配置谓词以匹配值不为null的字段。
S
songruirui 已提交
328

S
songruirui 已提交
329
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
330

331 332
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
333
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
334 335 336 337 338 339 340 341 342

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| field  | string | 是   | 数据库表中的列名。 |

**返回值:**

S
songruirui 已提交
343 344 345
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
346 347 348

**示例:**

349
```ts
S
songruirui 已提交
350 351
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.isNotNull("NAME")
S
songruirui 已提交
352 353
```

G
ge-yafang 已提交
354
### like
S
songruirui 已提交
355

S
songruirui 已提交
356
like(field: string, value: string): DataSharePredicates
S
songruirui 已提交
357

N
fix  
niudongyao 已提交
358
该接口用于配置谓词以匹配指定通配符表达式的字段。
S
songruirui 已提交
359 360

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
361

362 363
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
364
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
365 366 367 368 369 370

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
N
fix  
niudongyao 已提交
371
| value  | string | 是   | 指示要与谓词匹配的通配符表达式。 <br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。|
S
songruirui 已提交
372 373 374

**返回值:**

S
修改  
songruirui 已提交
375 376 377
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
378 379 380

**示例:**

381
```ts
S
songruirui 已提交
382 383
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.like("NAME", "%os%")
S
songruirui 已提交
384 385
```

G
ge-yafang 已提交
386
### unlike
S
songruirui 已提交
387

S
songruirui 已提交
388
unlike(field: string, value: string): DataSharePredicates
S
songruirui 已提交
389

N
fix  
niudongyao 已提交
390
该接口用于配置谓词以匹配不类似指定通配符表达式的字段。
S
songruirui 已提交
391

S
songruirui 已提交
392
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
393

394 395
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
396
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
397 398 399 400 401 402

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
N
fix  
niudongyao 已提交
403
| value  | string | 是   | 指示要与谓词匹配的通配符表达式。<br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。 |
S
songruirui 已提交
404 405 406

**返回值:**

S
songruirui 已提交
407 408 409
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
410 411 412

**示例:**

413
```ts
S
songruirui 已提交
414 415
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.unlike("NAME", "%os%")
S
songruirui 已提交
416 417
```

G
ge-yafang 已提交
418
### glob
S
songruirui 已提交
419

S
songruirui 已提交
420
glob(field: string, value: string): DataSharePredicates
S
songruirui 已提交
421

N
fix  
niudongyao 已提交
422
该接口用于配置谓词以匹配指定通配符表达式的字段。
423 424

目前仅RDB支持该谓词。
S
songruirui 已提交
425

426 427
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
428
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
429 430 431 432 433 434

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
N
fix  
niudongyao 已提交
435
| value  | string | 是   | 指示要与谓词匹配的通配符表达式。<br>表达式中'*'代表零个、一个或多个数字或字符,'?'代表一个单一的数字或字符,区分大小写。|
S
songruirui 已提交
436 437 438

**返回值:**

S
songruirui 已提交
439 440 441
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
442 443 444

**示例:**

445
```ts
S
songruirui 已提交
446 447
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.glob("NAME", "?h*g")
S
songruirui 已提交
448 449
```

G
ge-yafang 已提交
450
### between
S
songruirui 已提交
451

S
songruirui 已提交
452
between(field: string, low: ValueType, high: ValueType): DataSharePredicates
S
songruirui 已提交
453

454
该接口用于配置谓词以匹配值在指定范围内的字段。包含两端边界值,为左闭右闭区间。
455 456

目前仅RDB支持该谓词。
S
songruirui 已提交
457

458 459
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
460
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
461 462 463

**参数:**

S
songruirui 已提交
464 465 466
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
Z
zhongjianfei 已提交
467 468
| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
469 470 471

**返回值:**

S
songruirui 已提交
472 473 474
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
475 476 477

**示例:**

478
```ts
S
songruirui 已提交
479 480
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.between("AGE", 10, 50)
S
songruirui 已提交
481 482
```

G
ge-yafang 已提交
483
### notBetween
S
songruirui 已提交
484

S
songruirui 已提交
485
notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates
S
songruirui 已提交
486

487
该接口用于配置谓词以匹配值超出指定范围的字段。不包含两端边界值,为左开右开区间。
488 489

目前仅RDB支持该谓词。
S
songruirui 已提交
490

491 492
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
493
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
494 495 496

**参数:**

S
songruirui 已提交
497 498 499
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
Z
zhongjianfei 已提交
500 501
| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
502 503 504

**返回值:**

S
songruirui 已提交
505 506 507
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
508 509 510

**示例:**

511
```ts
S
songruirui 已提交
512 513
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.notBetween("AGE", 10, 50)
S
songruirui 已提交
514 515
```

G
ge-yafang 已提交
516
### greaterThan
S
songruirui 已提交
517

S
songruirui 已提交
518
greaterThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
519

520
该接口用于配置谓词以匹配值大于指定值的字段。
S
songruirui 已提交
521

S
songruirui 已提交
522
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
523

524 525
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
526
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
527 528 529 530 531 532

**参数:**

| 参数名  | 类型      | 必填 | 说明                   |
| ------- | --------- | ---- | ---------------------- |
| field   | string    | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
533
| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
534 535 536

**返回值:**

S
songruirui 已提交
537 538 539
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
540 541 542

**示例:**

543
```ts
S
songruirui 已提交
544 545
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.greaterThan("AGE", 10)
S
songruirui 已提交
546 547
```

G
ge-yafang 已提交
548
### lessThan
S
songruirui 已提交
549

S
songruirui 已提交
550
lessThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
551

552
该接口用于配置谓词以匹配值小于指定值的字段。
S
songruirui 已提交
553 554

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
555

556 557
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
558
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
559 560 561

**参数:**

S
songruirui 已提交
562 563 564
| 参数名 | 类型                                                | 必填 | 说明                   |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field  | string                                              | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
565
| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
566 567 568

**返回值:**

S
songruirui 已提交
569 570 571
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
572 573 574

**示例:**

575
```ts
S
songruirui 已提交
576 577
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.lessThan("AGE", 50)
S
songruirui 已提交
578 579
```

G
ge-yafang 已提交
580
### greaterThanOrEqualTo
S
songruirui 已提交
581

S
songruirui 已提交
582
greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
583

584
该接口用于配置谓词以匹配值大于或等于指定值的字段。
S
songruirui 已提交
585

S
songruirui 已提交
586
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
587

588 589
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
590
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
591 592 593 594 595 596

**参数:**

| 参数名  | 类型      | 必填 | 说明                   |
| ------- | --------- | ---- | ---------------------- |
| field   | string    | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
597
| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
598 599 600

**返回值:**

S
songruirui 已提交
601 602 603
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
604 605 606

**示例:**

607
```ts
S
songruirui 已提交
608 609
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.greaterThanOrEqualTo("AGE", 10)
S
songruirui 已提交
610 611
```

G
ge-yafang 已提交
612
### lessThanOrEqualTo
S
songruirui 已提交
613

S
songruirui 已提交
614
lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
615

616
该接口用于配置谓词以匹配值小于或等于指定值的字段。
S
songruirui 已提交
617 618

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
619

620 621
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
622
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
623 624 625 626 627 628

**参数:**

| 参数名  | 类型      | 必填 | 说明                   |
| ------- | --------- | ---- | ---------------------- |
| field   | string    | 是   | 数据库表中的列名。     |
Z
zhongjianfei 已提交
629
| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
S
songruirui 已提交
630 631 632

**返回值:**

S
songruirui 已提交
633 634 635
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
636 637 638

**示例:**

639
```ts
S
songruirui 已提交
640 641
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.lessThanOrEqualTo("AGE", 50)
S
songruirui 已提交
642 643
```

S
srr101 已提交
644
### orderByAsc<sup>10+</sup>
S
songruirui 已提交
645

S
songruirui 已提交
646
orderByAsc(field: string): DataSharePredicates
S
songruirui 已提交
647 648

该接口用于配置谓词以匹配其值按升序排序的列。
S
songruirui 已提交
649

S
songruirui 已提交
650
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
651

S
songruirui 已提交
652
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
653 654 655 656 657 658 659 660 661

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| field  | string | 是   | 数据库表中的列名。 |

**返回值:**

S
songruirui 已提交
662 663 664
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
665 666 667

**示例:**

668
```ts
S
songruirui 已提交
669 670
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.orderByAsc("AGE")
S
songruirui 已提交
671 672
```

S
srr101 已提交
673
### orderByDesc<sup>10+</sup>
S
songruirui 已提交
674

S
songruirui 已提交
675
orderByDesc(field: string): DataSharePredicates
S
songruirui 已提交
676

S
songruirui 已提交
677 678 679
该接口用于配置谓词以匹配其值按降序排序的列。

目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
680

S
songruirui 已提交
681
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
682 683 684 685 686 687 688 689 690

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| field  | string | 是   | 数据库表中的列名。 |

**返回值:**

S
songruirui 已提交
691 692 693
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
694 695 696

**示例:**

697
```ts
S
songruirui 已提交
698 699
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.orderByDesc("AGE")
S
songruirui 已提交
700 701
```

G
ge-yafang 已提交
702
### distinct
S
songruirui 已提交
703

S
songruirui 已提交
704
distinct(): DataSharePredicates
S
songruirui 已提交
705

706 707 708
该接口用于配置谓词以过滤重复记录并仅保留其中一个。

目前仅RDB支持该谓词。
S
songruirui 已提交
709

710 711
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
712
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
713 714 715

**返回值:**

S
songruirui 已提交
716 717 718
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
719 720 721

**示例:**

722
```ts
S
songruirui 已提交
723
let predicates = new dataSharePredicates.DataSharePredicates()
724
predicates.equalTo("NAME", "Rose").distinct()
S
songruirui 已提交
725 726
```

S
srr101 已提交
727
### limit<sup>10+</sup>
S
songruirui 已提交
728

S
songruirui 已提交
729
limit(total: number, offset: number): DataSharePredicates
S
songruirui 已提交
730 731

该接口用于配置谓词以指定结果数和起始位置。
S
songruirui 已提交
732

S
songruirui 已提交
733
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
734

S
songruirui 已提交
735
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
736 737 738 739 740 741

**参数:**

| 参数名   | 类型   | 必填 | 说明           |
| -------- | ------ | ---- | -------------- |
| total    | number | 是   | 指定结果数。   |
S
songruirui 已提交
742
| offset | number | 是   | 指示起始位置。 |
S
songruirui 已提交
743 744 745

**返回值:**

S
songruirui 已提交
746 747 748
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
749 750 751

**示例:**

752
```ts
S
songruirui 已提交
753 754
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "Rose").limit(10, 3)
S
songruirui 已提交
755 756
```

G
ge-yafang 已提交
757
### groupBy
S
songruirui 已提交
758

S
songruirui 已提交
759
groupBy(fields: Array&lt;string&gt;): DataSharePredicates
S
songruirui 已提交
760

761 762 763
该接口用于配置谓词按指定列分组查询结果。

目前仅RDB支持该谓词。
S
songruirui 已提交
764

765 766
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
767
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
768 769 770

**参数:**

S
songruirui 已提交
771 772
| 参数名 | 类型          | 必填 | 说明                 |
| ------ | ------------- | ---- | -------------------- |
S
songruirui 已提交
773
| fields | Array&lt;string&gt; | 是   | 指定分组依赖的列名。 |
S
songruirui 已提交
774 775 776

**返回值:**

S
songruirui 已提交
777 778 779
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
780 781 782

**示例:**

783
```ts
S
songruirui 已提交
784 785
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.groupBy(["AGE", "NAME"])
S
songruirui 已提交
786 787
```

G
ge-yafang 已提交
788
### indexedBy
S
songruirui 已提交
789

S
songruirui 已提交
790
indexedBy(field: string): DataSharePredicates
S
songruirui 已提交
791

792 793 794
该接口用于配置谓词按指定索引列查询结果。

目前仅RDB支持该谓词。
S
songruirui 已提交
795

796 797
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
798
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
799 800 801 802 803 804 805 806 807

**参数:**

| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
| field  | string | 是   | 索引列的名称。 |

**返回值:**

S
songruirui 已提交
808 809 810
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
811 812 813

**示例:**

814
```ts
S
songruirui 已提交
815 816
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.indexedBy("SALARY_INDEX")
S
songruirui 已提交
817 818
```

S
srr101 已提交
819
### in<sup>10+</sup>
S
songruirui 已提交
820

S
songruirui 已提交
821
in(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
S
songruirui 已提交
822

823
该接口用于配置谓词以匹配值在指范围内的字段。
S
songruirui 已提交
824

S
songruirui 已提交
825
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
826

S
songruirui 已提交
827
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
828 829 830 831 832

**参数:**

| 参数名  | 类型             | 必填 | 说明                                    |
| ------- | ---------------- | ---- | --------------------------------------- |
S
songruirui 已提交
833
| field   | string           | 是 | 数据库表中的列名。                      |
Z
zhongjianfei 已提交
834
| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | 是   | 以ValueType型数组形式指定的要匹配的值。 |
S
songruirui 已提交
835 836 837

**返回值:**

S
songruirui 已提交
838 839 840
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
841 842 843

**示例:**

844
```ts
S
songruirui 已提交
845 846
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.in("AGE", [18, 20])
S
songruirui 已提交
847 848
```

G
ge-yafang 已提交
849
### notIn
S
songruirui 已提交
850

S
songruirui 已提交
851
notIn(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
S
songruirui 已提交
852

853
该接口用于配置谓词以匹配值不在指定范围内的字段。
S
songruirui 已提交
854

S
songruirui 已提交
855
目前仅RDB及KVDB(schema)支持该谓词。
S
songruirui 已提交
856

857 858
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
859
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
860 861 862 863 864 865

**参数:**

| 参数名  | 类型             | 必填 | 说明                                    |
| ------- | ---------------- | ---- | --------------------------------------- |
| field   | string           | 是   | 数据库表中的列名。                      |
Z
zhongjianfei 已提交
866
| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | 是   | 以ValueType型数组形式指定的要匹配的值。 |
S
songruirui 已提交
867 868 869

**返回值:**

S
songruirui 已提交
870 871 872
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
873 874 875

**示例:**

876
```ts
S
songruirui 已提交
877 878
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.notIn("NAME", ["Lisa", "Rose"])
S
songruirui 已提交
879 880
```

G
ge-yafang 已提交
881
### prefixKey
S
songruirui 已提交
882

S
songruirui 已提交
883
prefixKey(prefix: string): DataSharePredicates
S
songruirui 已提交
884

885 886 887
该接口用于配置谓词以匹配键前缀的指定字段。

目前仅KVDB支持该谓词。
S
songruirui 已提交
888

889 890
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
891
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
892 893 894 895 896 897 898 899 900

**参数:**

| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
| prefix | string | 是   | 指定的键前缀。 |

**返回值:**

S
songruirui 已提交
901 902 903
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
904 905 906

**示例:**

907
```ts
S
songruirui 已提交
908 909
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.prefixKey("NAME")
S
songruirui 已提交
910 911
```

G
ge-yafang 已提交
912
### inKeys
S
songruirui 已提交
913

S
songruirui 已提交
914
inKeys(keys: Array&lt;string&gt;): DataSharePredicates
S
songruirui 已提交
915

916 917 918
该接口用于配置谓词以匹配键在指定范围内的字段。

目前仅KVDB支持该谓词。
S
songruirui 已提交
919

920 921
**系统接口:**  此接口为系统接口。

S
songruirui 已提交
922
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
923 924 925

**参数:**

S
songruirui 已提交
926 927
| 参数名 | 类型          | 必填 | 说明               |
| ------ | ------------- | ---- | ------------------ |
928
| inKeys | Array&lt;string&gt; | 是   | 指定范围的键数组。 |
S
songruirui 已提交
929 930 931

**返回值:**

S
songruirui 已提交
932 933 934
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
935 936 937

**示例:**

938
```ts
S
songruirui 已提交
939 940
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.inKeys(["Lisa", "Rose"])
941
```