js-apis-data-DataSharePredicates.md 27.1 KB
Newer Older
S
songruirui 已提交
1
# DataSharePredicates
S
songruirui 已提交
2

S
songruirui 已提交
3
**谓词(DataSharePredicates)** 是用户通过DataShare查询数据库中的数据所使用的限制条件,经常被应用在更新数据(Update)和查询数据(Query)中。
S
songruirui 已提交
4 5

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


## 导入模块

S
songruirui 已提交
12 13
```ts
import DataSharePredicates from '@ohos.data.DataSharePredicates';
S
songruirui 已提交
14 15 16 17
```

## equalTo

S
songruirui 已提交
18
equalTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
19

S
songruirui 已提交
20 21 22
该接口用于配置谓词以匹配数据类型为ValueType且值等于指定值的字段。

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

S
songruirui 已提交
24
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
25 26 27

**参数:**

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

**返回值:**

S
songruirui 已提交
35 36 37
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
38 39 40

**示例:**

S
songruirui 已提交
41
```ts
S
songruirui 已提交
42 43 44 45 46 47
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose")
```

## notEqualTo

S
songruirui 已提交
48
notEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
49 50

该接口用于配置谓词以匹配数据类型为ValueType且值不等于指定值的字段。
S
songruirui 已提交
51

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

S
songruirui 已提交
54
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
55 56 57

**参数:**

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

**返回值:**

S
songruirui 已提交
65 66 67
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
68 69 70

**示例:**

S
songruirui 已提交
71
```ts
S
songruirui 已提交
72 73 74 75 76 77
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notEqualTo("NAME", "Rose")
```

## beginWrap

S
songruirui 已提交
78
beginWrap(): DataSharePredicates
S
songruirui 已提交
79

S
songruirui 已提交
80
该接口用于向谓词添加左括号。目前仅RDB支持该谓词。
S
songruirui 已提交
81

S
songruirui 已提交
82
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
83 84 85

**返回值:**

S
songruirui 已提交
86 87 88
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有左括号的谓词。 |
S
songruirui 已提交
89 90 91

**示例:**

S
songruirui 已提交
92
```ts
S
songruirui 已提交
93 94 95 96 97 98 99 100 101 102 103
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi")
    .beginWrap()
    .equalTo("AGE", 18)
    .or()
    .equalTo("SALARY", 200.5)
    .endWrap()
```

## endWrap

S
songruirui 已提交
104
endWrap(): DataSharePredicates
S
songruirui 已提交
105

S
songruirui 已提交
106
该接口用于向谓词添加右括号。目前仅RDB支持该谓词。
S
songruirui 已提交
107

S
songruirui 已提交
108
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
109 110 111

**返回值:**

S
songruirui 已提交
112 113 114
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 |
S
songruirui 已提交
115 116 117

**示例:**

S
songruirui 已提交
118
```ts
S
songruirui 已提交
119 120 121 122 123 124 125 126 127 128 129
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi")
    .beginWrap()
    .equalTo("AGE", 18)
    .or()
    .equalTo("SALARY", 200.5)
    .endWrap()
```

## or

S
songruirui 已提交
130
or(): DataSharePredicates
S
songruirui 已提交
131

S
songruirui 已提交
132 133 134
该接口用于将或条件添加到谓词中。

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

S
songruirui 已提交
136
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
137 138 139

**返回值:**

S
songruirui 已提交
140 141 142
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 |
S
songruirui 已提交
143 144 145

**示例:**

S
songruirui 已提交
146
```ts
S
songruirui 已提交
147 148 149 150 151 152 153 154
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi")
    .or()
    .equalTo("NAME", "Rose")
```

## and

S
songruirui 已提交
155
and(): DataSharePredicates
S
songruirui 已提交
156

S
songruirui 已提交
157 158 159
该接口用于将和条件添加到谓词中。

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

S
songruirui 已提交
161
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
162 163 164

**返回值:**

S
songruirui 已提交
165 166 167
| 类型                                        | 说明                   |
| ------------------------------------------- | ---------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 |
S
songruirui 已提交
168 169 170

**示例:**

S
songruirui 已提交
171
```ts
S
songruirui 已提交
172 173 174 175 176 177 178 179
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi")
    .and()
    .equalTo("SALARY", 200.5)
```

## contains

S
songruirui 已提交
180
contains(field: string, value: string): DataSharePredicates
S
songruirui 已提交
181

S
songruirui 已提交
182
该接口用于配置谓词以匹配数据类型为String且value包含指定值的字段。目前仅RDB支持该谓词。
S
songruirui 已提交
183

S
songruirui 已提交
184
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
185 186 187 188 189 190 191 192 193 194

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

S
songruirui 已提交
195 196 197
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
198 199 200

**示例:**

S
songruirui 已提交
201
```ts
S
songruirui 已提交
202 203 204 205 206 207
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.contains("NAME", "os")
```

## beginsWith

S
songruirui 已提交
208
beginsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
209

S
songruirui 已提交
210
该接口用于配置谓词以匹配数据类型为String且值以指定字符串开头的字段。目前仅RDB支持该谓词。
S
songruirui 已提交
211

S
songruirui 已提交
212
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
213 214 215 216 217 218 219 220 221 222

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

S
songruirui 已提交
223 224 225
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
226 227 228

**示例:**

S
songruirui 已提交
229
```ts
S
songruirui 已提交
230 231 232 233 234 235
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.beginsWith("NAME", "os")
```

## endsWith

S
songruirui 已提交
236
endsWith(field: string, value: string): DataSharePredicates
S
songruirui 已提交
237

S
songruirui 已提交
238
该接口用于配置谓词以匹配数据类型为String且值以指定字符串结尾的字段。目前仅RDB支持该谓词。
S
songruirui 已提交
239

S
songruirui 已提交
240
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
241 242 243 244 245 246 247 248 249 250

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

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

**示例:**

S
songruirui 已提交
257
```ts
S
songruirui 已提交
258 259 260 261 262 263
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.endsWith("NAME", "os")
```

## isNull

S
songruirui 已提交
264
isNull(field: string): DataSharePredicates
S
songruirui 已提交
265 266

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
286
```ts
S
songruirui 已提交
287 288 289 290 291 292
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.isNull("NAME")
```

## isNotNull

S
songruirui 已提交
293
isNotNull(field: string): DataSharePredicates
S
songruirui 已提交
294 295

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

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

S
songruirui 已提交
299
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
300 301 302 303 304 305 306 307 308

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
315
```ts
S
songruirui 已提交
316 317 318 319 320 321
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.isNotNull("NAME")
```

## like

S
songruirui 已提交
322
like(field: string, value: string): DataSharePredicates
S
songruirui 已提交
323

S
songruirui 已提交
324 325 326
该接口用于配置谓词以匹配数据类型为string且值类似于指定字符串的字段。

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

S
songruirui 已提交
328
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
329 330 331 332 333 334 335 336 337 338

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

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

**示例:**

S
songruirui 已提交
345
```ts
S
songruirui 已提交
346 347 348 349 350 351
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.like("NAME", "%os%")
```

## unlike

S
songruirui 已提交
352
unlike(field: string, value: string): DataSharePredicates
S
songruirui 已提交
353 354

该接口用于配置谓词以匹配数据类型为string且值不类似于指定字符串的字段。
S
songruirui 已提交
355

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

S
songruirui 已提交
358
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
359 360 361 362 363 364 365 366 367 368

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

S
songruirui 已提交
369 370 371
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
372 373 374

**示例:**

S
songruirui 已提交
375
```ts
S
songruirui 已提交
376 377 378 379 380 381
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.unlike("NAME", "%os%")
```

## glob

S
songruirui 已提交
382
glob(field: string, value: string): DataSharePredicates
S
songruirui 已提交
383

S
songruirui 已提交
384
该接口用于配置谓词匹配数据类型为string的指定字段。目前仅RDB支持该谓词。
S
songruirui 已提交
385

S
songruirui 已提交
386
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
387 388 389 390 391 392 393 394 395 396

**参数:**

| 参数名 | 类型   | 必填 | 说明                   |
| ------ | ------ | ---- | ---------------------- |
| field  | string | 是   | 数据库表中的列名。     |
| value  | string | 是   | 指示要与谓词匹配的值。 |

**返回值:**

S
songruirui 已提交
397 398 399
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
400 401 402

**示例:**

S
songruirui 已提交
403
```ts
S
songruirui 已提交
404 405 406 407 408 409
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.glob("NAME", "?h*g")
```

## between

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

S
songruirui 已提交
412
该接口用于将谓词配置为匹配数据类型为ValueType且value在指定范围内的指定字段。目前仅RDB支持该谓词。
S
songruirui 已提交
413

S
songruirui 已提交
414
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
415 416 417

**参数:**

S
songruirui 已提交
418 419 420 421 422
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
| low    | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
423 424 425

**返回值:**

S
songruirui 已提交
426 427 428
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
429 430 431

**示例:**

S
songruirui 已提交
432
```ts
S
songruirui 已提交
433 434 435 436 437 438
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.between("AGE", 10, 50)
```

## notBetween

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

S
songruirui 已提交
441
该接口用于配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段。目前仅RDB支持该谓词。
S
songruirui 已提交
442

S
songruirui 已提交
443
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
444 445 446

**参数:**

S
songruirui 已提交
447 448 449 450 451
| 参数名 | 类型                                                | 必填 | 说明                     |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field  | string                                              | 是   | 数据库表中的列名。       |
| low    | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
| high   | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
S
songruirui 已提交
452 453 454

**返回值:**

S
songruirui 已提交
455 456 457
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
458 459 460

**示例:**

S
songruirui 已提交
461
```ts
S
songruirui 已提交
462 463 464 465 466 467
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notBetween("AGE", 10, 50)
```

## greaterThan

S
songruirui 已提交
468
greaterThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
469 470

该接口用于配置谓词以匹配数据类型为ValueType且值大于指定值的字段。
S
songruirui 已提交
471

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

S
songruirui 已提交
474
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
475 476 477 478 479 480

**参数:**

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

**返回值:**

S
songruirui 已提交
485 486 487
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
488 489 490

**示例:**

S
songruirui 已提交
491
```ts
S
songruirui 已提交
492 493 494 495 496 497
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.greaterThan("AGE", 10)
```

## lessThan

S
songruirui 已提交
498
lessThan(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
499

S
songruirui 已提交
500 501 502
该接口用于配置谓词以匹配数据类型为valueType且value小于指定值的字段。

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

S
songruirui 已提交
504
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
505 506 507

**参数:**

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

**返回值:**

S
songruirui 已提交
515 516 517
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
518 519 520

**示例:**

S
songruirui 已提交
521
```ts
S
songruirui 已提交
522 523 524 525 526 527
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.lessThan("AGE", 50)
```

## greaterThanOrEqualTo

S
songruirui 已提交
528
greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
529 530

该接口用于配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段。
S
songruirui 已提交
531

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

S
songruirui 已提交
534
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
535 536 537 538 539 540

**参数:**

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

**返回值:**

S
songruirui 已提交
545 546 547
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
548 549 550

**示例:**

S
songruirui 已提交
551
```ts
S
songruirui 已提交
552 553 554 555 556 557
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.greaterThanOrEqualTo("AGE", 10)
```

## lessThanOrEqualTo

S
songruirui 已提交
558
lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
S
songruirui 已提交
559

S
songruirui 已提交
560 561 562
该接口用于配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。

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

S
songruirui 已提交
564
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
565 566 567 568 569 570

**参数:**

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

**返回值:**

S
songruirui 已提交
575 576 577
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
578 579 580

**示例:**

S
songruirui 已提交
581
```ts
S
songruirui 已提交
582 583 584 585 586 587
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.lessThanOrEqualTo("AGE", 50)
```

## orderByAsc

S
songruirui 已提交
588
orderByAsc(field: string): DataSharePredicates
S
songruirui 已提交
589 590

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

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

S
songruirui 已提交
594
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
595 596 597 598 599 600 601 602 603

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
610
```ts
S
songruirui 已提交
611 612 613 614 615 616
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.orderByAsc("AGE")
```

## orderByDesc

S
songruirui 已提交
617
orderByDesc(field: string): DataSharePredicates
S
songruirui 已提交
618

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
639
```ts
S
songruirui 已提交
640 641 642 643 644 645
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.orderByDesc("AGE")
```

## distinct

S
songruirui 已提交
646
distinct(): DataSharePredicates
S
songruirui 已提交
647

S
songruirui 已提交
648
该接口用于配置谓词以过滤重复记录并仅保留其中一个。目前仅RDB支持该谓词。
S
songruirui 已提交
649

S
songruirui 已提交
650
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
651 652 653

**返回值:**

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

**示例:**

S
songruirui 已提交
660
```ts
S
songruirui 已提交
661 662 663 664 665 666
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose").distinct("NAME")
```

## limit

S
songruirui 已提交
667
limit(total: number, offset: number): DataSharePredicates
S
songruirui 已提交
668 669

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

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

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

**参数:**

| 参数名   | 类型   | 必填 | 说明           |
| -------- | ------ | ---- | -------------- |
| total    | number | 是   | 指定结果数。   |
S
songruirui 已提交
680
| offset | number | 是   | 指示起始位置。 |
S
songruirui 已提交
681 682 683

**返回值:**

S
songruirui 已提交
684 685 686
| 类型                                        | 说明                       |
| ------------------------------------------- | -------------------------- |
| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
S
songruirui 已提交
687 688 689

**示例:**

S
songruirui 已提交
690
```ts
S
songruirui 已提交
691 692 693 694 695 696
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose").limit(10, 3)
```

## groupBy

S
songruirui 已提交
697
groupBy(fields: Array<string>): DataSharePredicates
S
songruirui 已提交
698

S
songruirui 已提交
699
该接口用于配置谓词按指定列分组查询结果。目前仅RDB支持该谓词。
S
songruirui 已提交
700

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

**参数:**

S
songruirui 已提交
705 706
| 参数名 | 类型          | 必填 | 说明                 |
| ------ | ------------- | ---- | -------------------- |
S
songruirui 已提交
707
| fields | Array<string> | 是   | 指定分组依赖的列名。 |
S
songruirui 已提交
708 709 710

**返回值:**

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

**示例:**

S
songruirui 已提交
717
```ts
S
songruirui 已提交
718 719 720 721 722 723
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.groupBy(["AGE", "NAME"])
```

## indexedBy

S
songruirui 已提交
724
indexedBy(field: string): DataSharePredicates
S
songruirui 已提交
725

S
songruirui 已提交
726
该接口用于配置谓词以指定索引列。目前仅RDB支持该谓词。
S
songruirui 已提交
727

S
songruirui 已提交
728
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
729 730 731 732 733 734 735 736 737

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
744
```ts
S
songruirui 已提交
745 746 747 748 749 750
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.indexedBy("SALARY_INDEX")
```

## in

S
songruirui 已提交
751
in(field: string, value: Array<ValueType>): DataSharePredicates
S
songruirui 已提交
752 753

该接口用于配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。
S
songruirui 已提交
754

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

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

**参数:**

| 参数名  | 类型             | 必填 | 说明                                    |
| ------- | ---------------- | ---- | --------------------------------------- |
S
songruirui 已提交
763
| field   | string           | 是 | 数据库表中的列名。                      |
S
songruirui 已提交
764
| value | Array<[ValueType](js-apis-data-ValuesBucket.md#valuetype)> | 是   | 以ValueType型数组形式指定的要匹配的值。 |
S
songruirui 已提交
765 766 767

**返回值:**

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

**示例:**

S
songruirui 已提交
774
```ts
S
songruirui 已提交
775 776 777 778 779 780
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.in("AGE", [18, 20])
```

## notIn

S
songruirui 已提交
781
notIn(field: string, value: Array<ValueType>): DataSharePredicates
S
songruirui 已提交
782 783

该接口用于配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。
S
songruirui 已提交
784

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

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

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
804
```ts
S
songruirui 已提交
805 806 807 808 809 810
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notIn("NAME", ["Lisa", "Rose"])
```

## prefixKey

S
songruirui 已提交
811
prefixKey(prefix: string): DataSharePredicates
S
songruirui 已提交
812

S
songruirui 已提交
813
该接口用于配置谓词以匹配键前缀的指定字段。目前仅KVDB支持该谓词。
S
songruirui 已提交
814

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

**参数:**

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

**返回值:**

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

**示例:**

S
songruirui 已提交
831
```ts
S
songruirui 已提交
832 833 834 835 836 837
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.prefixKey("NAME")
```

## inKeys

S
songruirui 已提交
838
inKeys(keys: Array<string>): DataSharePredicates
S
songruirui 已提交
839

S
songruirui 已提交
840
该接口用于配置谓词以匹配键在给定范围内的指定字段。目前仅KVDB支持该谓词。
S
songruirui 已提交
841

S
songruirui 已提交
842
**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
S
songruirui 已提交
843 844 845

**参数:**

S
songruirui 已提交
846 847
| 参数名 | 类型          | 必填 | 说明               |
| ------ | ------------- | ---- | ------------------ |
S
songruirui 已提交
848
| inKeys | Array<string> | 是   | 给定范围的键数组。 |
S
songruirui 已提交
849 850 851

**返回值:**

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

**示例:**

S
songruirui 已提交
858
```ts
S
songruirui 已提交
859 860 861
let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.inKeys(["Lisa", "Rose"])
```