js-apis-data-dataSharePredicates.md 27.7 KB
Newer Older
S
songruirui 已提交
1
# 数据共享谓词
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 10 11
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块接口为系统接口。
S
songruirui 已提交
12 13 14 15


## 导入模块

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

G
ge-yafang 已提交
20 21 22 23
## DataSharePredicates
提供用于不同实现不同查询方法的数据共享谓词。

### equalTo
S
songruirui 已提交
24

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

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

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

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

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

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

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

S
songruirui 已提交
91
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
92 93 94

**返回值:**

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

**示例:**

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

G
ge-yafang 已提交
111
### endWrap
S
songruirui 已提交
112

S
songruirui 已提交
113
endWrap(): DataSharePredicates
S
songruirui 已提交
114

115 116 117
该接口用于向谓词添加右括号。

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

S
songruirui 已提交
119
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
120 121 122

**返回值:**

S
songruirui 已提交
123 124 125
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 |
S
songruirui 已提交
126 127 128

**示例:**

129
```ts
S
songruirui 已提交
130 131
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
132 133 134 135 136 137 138
    .beginWrap()
    .equalTo("AGE", 18)
    .or()
    .equalTo("SALARY", 200.5)
    .endWrap()
```

G
ge-yafang 已提交
139
### or
S
songruirui 已提交
140

S
songruirui 已提交
141
or(): DataSharePredicates
S
songruirui 已提交
142

S
songruirui 已提交
143 144 145
该接口用于将或条件添加到谓词中。

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

S
songruirui 已提交
147
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
148 149 150

**返回值:**

S
songruirui 已提交
151 152 153
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 |
S
songruirui 已提交
154 155 156

**示例:**

157
```ts
S
songruirui 已提交
158 159
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
160 161 162 163
    .or()
    .equalTo("NAME", "Rose")
```

G
ge-yafang 已提交
164
### and
S
songruirui 已提交
165

S
songruirui 已提交
166
and(): DataSharePredicates
S
songruirui 已提交
167

S
songruirui 已提交
168 169 170
该接口用于将和条件添加到谓词中。

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

S
songruirui 已提交
172
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
173 174 175

**返回值:**

S
songruirui 已提交
176 177 178
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 |
S
songruirui 已提交
179 180 181

**示例:**

182
```ts
S
songruirui 已提交
183 184
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "lisi")
S
songruirui 已提交
185 186 187 188
    .and()
    .equalTo("SALARY", 200.5)
```

G
ge-yafang 已提交
189
### contains
S
songruirui 已提交
190

S
songruirui 已提交
191
contains(field: string, value: string): DataSharePredicates
S
songruirui 已提交
192

193
该接口用于配置谓词以匹配值包含指定字段的字段。
194 195

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

S
songruirui 已提交
197
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
198 199 200

**参数:**

S
songruirui 已提交
201 202 203 204
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| field  | string | 是   | 数据库表中的列名。   |
| value  | string | 是   | 指示值中包含该字段。 |
S
songruirui 已提交
205 206 207

**返回值:**

S
songruirui 已提交
208 209 210
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
211 212 213

**示例:**

214
```ts
S
songruirui 已提交
215 216
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.contains("NAME", "os")
S
songruirui 已提交
217 218
```

G
ge-yafang 已提交
219
### beginsWith
S
songruirui 已提交
220

S
songruirui 已提交
221
beginsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
222

223 224 225
该接口用于配置谓词以匹配值以指定字符串起始的字段。

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

S
songruirui 已提交
227
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
228 229 230 231 232 233

**参数:**

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

**返回值:**

S
songruirui 已提交
238 239 240
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
241 242 243

**示例:**

244
```ts
S
songruirui 已提交
245 246
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.beginsWith("NAME", "os")
S
songruirui 已提交
247 248
```

G
ge-yafang 已提交
249
### endsWith
S
songruirui 已提交
250

S
songruirui 已提交
251
endsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
252

253 254 255
该接口用于配置谓词以匹配值以指定字符串结尾的字段。

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

S
songruirui 已提交
257
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
258 259 260 261 262 263

**参数:**

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

**返回值:**

S
songruirui 已提交
268 269 270
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
271 272 273

**示例:**

274
```ts
S
songruirui 已提交
275 276
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.endsWith("NAME", "os")
S
songruirui 已提交
277 278
```

G
ge-yafang 已提交
279
### isNull
S
songruirui 已提交
280

S
songruirui 已提交
281
isNull(field: string): DataSharePredicates
S
songruirui 已提交
282 283

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

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

S
songruirui 已提交
287
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
288 289 290 291 292 293 294 295 296

**参数:**

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

**返回值:**

S
songruirui 已提交
297 298 299
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
300 301 302

**示例:**

303
```ts
S
songruirui 已提交
304 305
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.isNull("NAME")
S
songruirui 已提交
306 307
```

G
ge-yafang 已提交
308
### isNotNull
S
songruirui 已提交
309

S
songruirui 已提交
310
isNotNull(field: string): DataSharePredicates
S
songruirui 已提交
311

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

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

S
songruirui 已提交
316
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
317 318 319 320 321 322 323 324 325

**参数:**

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

**返回值:**

S
songruirui 已提交
326 327 328
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
329 330 331

**示例:**

332
```ts
S
songruirui 已提交
333 334
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.isNotNull("NAME")
S
songruirui 已提交
335 336
```

G
ge-yafang 已提交
337
### like
S
songruirui 已提交
338

S
songruirui 已提交
339
like(field: string, value: string): DataSharePredicates
S
songruirui 已提交
340

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

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

S
songruirui 已提交
345
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
346 347 348 349 350 351

**参数:**

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

**返回值:**

S
修改  
songruirui 已提交
356 357 358
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
359 360 361

**示例:**

362
```ts
S
songruirui 已提交
363 364
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.like("NAME", "%os%")
S
songruirui 已提交
365 366
```

G
ge-yafang 已提交
367
### unlike
S
songruirui 已提交
368

S
songruirui 已提交
369
unlike(field: string, value: string): DataSharePredicates
S
songruirui 已提交
370

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

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

S
songruirui 已提交
375
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
376 377 378 379 380 381

**参数:**

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

**返回值:**

S
songruirui 已提交
386 387 388
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
389 390 391

**示例:**

392
```ts
S
songruirui 已提交
393 394
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.unlike("NAME", "%os%")
S
songruirui 已提交
395 396
```

G
ge-yafang 已提交
397
### glob
S
songruirui 已提交
398

S
songruirui 已提交
399
glob(field: string, value: string): DataSharePredicates
S
songruirui 已提交
400

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

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

S
songruirui 已提交
405
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
406 407 408 409 410 411

**参数:**

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

**返回值:**

S
songruirui 已提交
416 417 418
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
419 420 421

**示例:**

422
```ts
S
songruirui 已提交
423 424
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.glob("NAME", "?h*g")
S
songruirui 已提交
425 426
```

G
ge-yafang 已提交
427
### between
S
songruirui 已提交
428

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

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

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

S
songruirui 已提交
435
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
436 437 438

**参数:**

S
songruirui 已提交
439 440 441 442 443
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
| low    | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
444 445 446

**返回值:**

S
songruirui 已提交
447 448 449
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
450 451 452

**示例:**

453
```ts
S
songruirui 已提交
454 455
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.between("AGE", 10, 50)
S
songruirui 已提交
456 457
```

G
ge-yafang 已提交
458
### notBetween
S
songruirui 已提交
459

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

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

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

S
songruirui 已提交
466
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
467 468 469

**参数:**

S
songruirui 已提交
470 471 472 473 474
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
| low    | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
475 476 477

**返回值:**

S
songruirui 已提交
478 479 480
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
481 482 483

**示例:**

484
```ts
S
songruirui 已提交
485 486
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.notBetween("AGE", 10, 50)
S
songruirui 已提交
487 488
```

G
ge-yafang 已提交
489
### greaterThan
S
songruirui 已提交
490

S
songruirui 已提交
491
greaterThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
492

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

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

S
songruirui 已提交
497
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
498 499 500 501 502 503

**参数:**

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

**返回值:**

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

**示例:**

514
```ts
S
songruirui 已提交
515 516
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.greaterThan("AGE", 10)
S
songruirui 已提交
517 518
```

G
ge-yafang 已提交
519
### lessThan
S
songruirui 已提交
520

S
songruirui 已提交
521
lessThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
522

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

544
```ts
S
songruirui 已提交
545 546
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.lessThan("AGE", 50)
S
songruirui 已提交
547 548
```

G
ge-yafang 已提交
549
### greaterThanOrEqualTo
S
songruirui 已提交
550

S
songruirui 已提交
551
greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
552

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

574
```ts
S
songruirui 已提交
575 576
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.greaterThanOrEqualTo("AGE", 10)
S
songruirui 已提交
577 578
```

G
ge-yafang 已提交
579
### lessThanOrEqualTo
S
songruirui 已提交
580

S
songruirui 已提交
581
lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
582

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

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

S
songruirui 已提交
587
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
588 589 590 591 592 593

**参数:**

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

**返回值:**

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

**示例:**

604
```ts
S
songruirui 已提交
605 606
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.lessThanOrEqualTo("AGE", 50)
S
songruirui 已提交
607 608
```

G
ge-yafang 已提交
609
### orderByAsc
S
songruirui 已提交
610

S
songruirui 已提交
611
orderByAsc(field: string): DataSharePredicates
S
songruirui 已提交
612 613

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

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

S
songruirui 已提交
617
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
618 619 620 621 622 623 624 625 626

**参数:**

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

**返回值:**

S
songruirui 已提交
627 628 629
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
630 631 632

**示例:**

633
```ts
S
songruirui 已提交
634 635
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.orderByAsc("AGE")
S
songruirui 已提交
636 637
```

G
ge-yafang 已提交
638
### orderByDesc
S
songruirui 已提交
639

S
songruirui 已提交
640
orderByDesc(field: string): DataSharePredicates
S
songruirui 已提交
641

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

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

S
songruirui 已提交
646
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
647 648 649 650 651 652 653 654 655

**参数:**

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

**返回值:**

S
songruirui 已提交
656 657 658
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
659 660 661

**示例:**

662
```ts
S
songruirui 已提交
663 664
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.orderByDesc("AGE")
S
songruirui 已提交
665 666
```

G
ge-yafang 已提交
667
### distinct
S
songruirui 已提交
668

S
songruirui 已提交
669
distinct(): DataSharePredicates
S
songruirui 已提交
670

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

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

S
songruirui 已提交
675
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
676 677 678

**返回值:**

S
songruirui 已提交
679 680 681
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
682 683 684

**示例:**

685
```ts
S
songruirui 已提交
686
let predicates = new dataSharePredicates.DataSharePredicates()
687
predicates.equalTo("NAME", "Rose").distinct()
S
songruirui 已提交
688 689
```

G
ge-yafang 已提交
690
### limit
S
songruirui 已提交
691

S
songruirui 已提交
692
limit(total: number, offset: number): DataSharePredicates
S
songruirui 已提交
693 694

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

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

S
songruirui 已提交
698
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
699 700 701 702 703 704

**参数:**

| 参数名   | 类型   | 必填 | 说明           |
| -------- | ------ | ---- | -------------- |
| total    | number | 是   | 指定结果数。   |
S
songruirui 已提交
705
| offset | number | 是   | 指示起始位置。 |
S
songruirui 已提交
706 707 708

**返回值:**

S
songruirui 已提交
709 710 711
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
712 713 714

**示例:**

715
```ts
S
songruirui 已提交
716 717
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.equalTo("NAME", "Rose").limit(10, 3)
S
songruirui 已提交
718 719
```

G
ge-yafang 已提交
720
### groupBy
S
songruirui 已提交
721

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

724 725 726
该接口用于配置谓词按指定列分组查询结果。

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

S
songruirui 已提交
728
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
729 730 731

**参数:**

S
songruirui 已提交
732 733
| 参数名 | 类型          | 必填 | 说明                 |
| ------ | ------------- | ---- | -------------------- |
S
songruirui 已提交
734
| fields | Array&lt;string&gt; | 是   | 指定分组依赖的列名。 |
S
songruirui 已提交
735 736 737

**返回值:**

S
songruirui 已提交
738 739 740
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
741 742 743

**示例:**

744
```ts
S
songruirui 已提交
745 746
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.groupBy(["AGE", "NAME"])
S
songruirui 已提交
747 748
```

G
ge-yafang 已提交
749
### indexedBy
S
songruirui 已提交
750

S
songruirui 已提交
751
indexedBy(field: string): DataSharePredicates
S
songruirui 已提交
752

753 754 755
该接口用于配置谓词按指定索引列查询结果。

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

S
songruirui 已提交
757
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
758 759 760 761 762 763 764 765 766

**参数:**

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

**返回值:**

S
songruirui 已提交
767 768 769
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
770 771 772

**示例:**

773
```ts
S
songruirui 已提交
774 775
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.indexedBy("SALARY_INDEX")
S
songruirui 已提交
776 777
```

G
ge-yafang 已提交
778
### in
S
songruirui 已提交
779

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

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

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

S
songruirui 已提交
786
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
787 788 789 790 791

**参数:**

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

**返回值:**

S
songruirui 已提交
797 798 799
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
800 801 802

**示例:**

803
```ts
S
songruirui 已提交
804 805
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.in("AGE", [18, 20])
S
songruirui 已提交
806 807
```

G
ge-yafang 已提交
808
### notIn
S
songruirui 已提交
809

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

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

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

S
songruirui 已提交
816
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
817 818 819 820 821 822

**参数:**

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

**返回值:**

S
songruirui 已提交
827 828 829
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
830 831 832

**示例:**

833
```ts
S
songruirui 已提交
834 835
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.notIn("NAME", ["Lisa", "Rose"])
S
songruirui 已提交
836 837
```

G
ge-yafang 已提交
838
### prefixKey
S
songruirui 已提交
839

S
songruirui 已提交
840
prefixKey(prefix: string): DataSharePredicates
S
songruirui 已提交
841

842 843 844
该接口用于配置谓词以匹配键前缀的指定字段。

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

S
songruirui 已提交
846
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
847 848 849 850 851 852 853 854 855

**参数:**

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

**返回值:**

S
songruirui 已提交
856 857 858
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
859 860 861

**示例:**

862
```ts
S
songruirui 已提交
863 864
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.prefixKey("NAME")
S
songruirui 已提交
865 866
```

G
ge-yafang 已提交
867
### inKeys
S
songruirui 已提交
868

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

871 872 873
该接口用于配置谓词以匹配键在指定范围内的字段。

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

S
songruirui 已提交
875
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
876 877 878

**参数:**

S
songruirui 已提交
879 880
| 参数名 | 类型          | 必填 | 说明               |
| ------ | ------------- | ---- | ------------------ |
881
| inKeys | Array&lt;string&gt; | 是   | 指定范围的键数组。 |
S
songruirui 已提交
882 883 884

**返回值:**

S
songruirui 已提交
885 886 887
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
888 889 890

**示例:**

891
```ts
S
songruirui 已提交
892 893
let predicates = new dataSharePredicates.DataSharePredicates()
predicates.inKeys(["Lisa", "Rose"])
894
```