• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.data.dataAbility (DataAbility谓词)
2
3DataAbility 谓词用于构造关系型数据库的谓词,提供用于实现不同查询方法的谓词。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9
10## 导入模块
11
12```js
13import dataAbility from '@ohos.data.dataAbility';
14```
15
16## dataAbility.createRdbPredicates
17
18createRdbPredicates(name: string, dataAbilityPredicates: DataAbilityPredicates): rdb.RdbPredicates
19
20通过表名和DataAbility谓词对象创建Rdb谓词对象。
21
22**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core23
24**参数:**
25
26| 参数名 | 类型 | 必填 | 说明 |
27| -------- | -------- | -------- | -------- |
28| name | string | 是 | 数据库表中的表名。 |
29| dataAbilityPredicates | [DataAbilityPredicates](#dataabilitypredicates) | 是 | DataAbility谓词。 |
30
31**返回值:**
32
33| 类型 | 说明 |
34| -------- | -------- |
35| rdb.[RdbPredicates](js-apis-data-rdb.md#rdbpredicates) | 返回RdbPredicates对象。 |
36
37**示例:**
38
39  ```js
40  let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
41  dataAbilityPredicates.equalTo("NAME", "Rose")
42  // EMPLOYEE是使用关系型数据库创建的表。
43  let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
44  ```
45
46## DataAbilityPredicates
47
48提供用于实现不同查询方法的谓词。
49
50**初始化:**
51
52  ```js
53  let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
54  ```
55
56### equalTo
57
58equalTo(field: string, value: ValueType): DataAbilityPredicates
59
60配置谓词以匹配数据,数据的指定字段数据类型为ValueType且值等于指定值。
61
62此方法类似于SQL语句的“=”。
63
64**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core65
66**参数:**
67
68| 参数名 | 类型 | 必填 | 说明 |
69| -------- | -------- | -------- | -------- |
70| field | string | 是 | 数据库表中的列名。 |
71| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
72
73**返回值:**
74
75| 类型 | 说明 |
76| -------- | -------- |
77| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
78
79**示例:**
80
81  ```js
82  dataAbilityPredicates.equalTo("NAME", "lisi")
83  ```
84
85### notEqualTo
86
87notEqualTo(field: string, value: ValueType): DataAbilityPredicates
88
89配置谓词以匹配数据,数据的指定字段数据类型为ValueType且不等于指定值。
90
91此方法类似于SQL语句的“!=”。
92
93**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core94
95**参数:**
96
97| 参数名 | 类型 | 必填 | 说明 |
98| -------- | -------- | -------- | -------- |
99| field | string | 是 | 数据库表中的列名。 |
100| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
101
102**返回值:**
103
104| 类型 | 说明 |
105| -------- | -------- |
106| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
107
108**示例:**
109
110  ```js
111  dataAbilityPredicates.notEqualTo("NAME", "lisi")
112  ```
113
114### beginWrap
115
116beginWrap(): DataAbilityPredicates
117
118在谓词中添加左括号。此方法类似于SQL语句的“(”,需要与endWrap一起使用。
119
120**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core121
122**返回值:**
123
124| 类型 | 说明 |
125| -------- | -------- |
126| [DataAbilityPredicates](#dataabilitypredicates) | 返回带有左括号的DataAbility谓词。 |
127
128**示例:**
129
130  ```js
131  dataAbilityPredicates.equalTo("NAME", "lisi")
132      .beginWrap()
133      .equalTo("AGE", 18)
134      .or()
135      .equalTo("SALARY", 200.5)
136      .endWrap()
137  ```
138
139### endWrap
140
141endWrap(): DataAbilityPredicates
142
143在谓词中添加右括号。此方法类似于SQL语句的“)”,需要和beginWrap一起使用。
144
145**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core146
147**返回值:**
148
149| 类型 | 说明 |
150| -------- | -------- |
151| [DataAbilityPredicates](#dataabilitypredicates) | 返回带有右括号的DataAbility谓词。 |
152
153**示例:**
154
155  ```js
156  dataAbilityPredicates.equalTo("NAME", "lisi")
157      .beginWrap()
158      .equalTo("AGE", 18)
159      .or()
160      .equalTo("SALARY", 200.5)
161      .endWrap()
162  ```
163
164### or
165
166or(): DataAbilityPredicates
167
168将或条件添加到谓词中。
169
170此方法类似于SQL语句“or”。
171
172**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core173
174**返回值:**
175
176| 类型 | 说明 |
177| -------- | -------- |
178| [DataAbilityPredicates](#dataabilitypredicates) | 返回带有或条件的DataAbility谓词。 |
179
180**示例:**
181
182  ```js
183  dataAbilityPredicates.equalTo("NAME", "Lisa")
184      .or()
185      .equalTo("NAME", "Rose")
186  ```
187
188### and
189
190and(): DataAbilityPredicates
191
192将和条件添加到谓词中。
193
194**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core195
196**返回值:**
197
198| 类型 | 说明 |
199| -------- | -------- |
200| [DataAbilityPredicates](#dataabilitypredicates) | 返回带有和条件的DataAbility谓词。 |
201
202**示例:**
203
204  ```js
205  dataAbilityPredicates.equalTo("NAME", "Lisa")
206      .and()
207      .equalTo("SALARY", 200.5)
208  ```
209
210### contains
211
212contains(field: string, value: string): DataAbilityPredicates
213
214配置谓词以匹配数据类型为string且value包含指定值的字段。
215
216**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core217
218**参数:**
219
220| 参数名 | 类型 | 必填 | 说明 |
221| -------- | -------- | -------- | -------- |
222| field | string | 是 | 数据库表中的列名。 |
223| value | string | 是 | 指示要与谓词匹配的值。 |
224
225**返回值:**
226
227| 类型 | 说明 |
228| -------- | -------- |
229| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
230
231**示例:**
232
233  ```js
234  dataAbilityPredicates.contains("NAME", "os")
235  ```
236
237### beginsWith
238
239beginsWith(field: string, value: string): DataAbilityPredicates
240
241配置谓词以匹配数据类型为string且值以指定字符串开头的字段。
242
243此方法类似于SQL语句的“%”。
244
245**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core246
247**参数:**
248
249| 参数名 | 类型 | 必填 | 说明 |
250| -------- | -------- | -------- | -------- |
251| field | string | 是 | 数据库表中的列名。 |
252| value | string | 是 | 指示要与谓词匹配的值。 |
253
254**返回值:**
255
256| 类型 | 说明 |
257| -------- | -------- |
258| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
259
260**示例:**
261
262  ```js
263  dataAbilityPredicates.beginsWith("NAME", "os")
264  ```
265
266### endsWith
267
268endsWith(field: string, value: string): DataAbilityPredicates
269
270配置谓词以匹配数据类型为string且值以指定字符串结尾的字段。
271
272此方法类似于SQL语句的“%”。
273
274**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core275
276**参数:**
277
278| 参数名 | 类型 | 必填 | 说明 |
279| -------- | -------- | -------- | -------- |
280| field | string | 是 | 数据库表中的列名。 |
281| value | string | 是 | 指示要与谓词匹配的值。 |
282
283**返回值:**
284
285| 类型 | 说明 |
286| -------- | -------- |
287| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
288
289**示例:**
290
291  ```
292  dataAbilityPredicates.endsWith("NAME", "se")
293  ```
294
295### isNull
296
297isNull(field: string): DataAbilityPredicates
298
299配置谓词以匹配值为null的字段。
300
301**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core302
303**参数:**
304
305| 参数名 | 类型 | 必填 | 说明 |
306| -------- | -------- | -------- | -------- |
307| field | string | 是 | 数据库表中的列名。 |
308
309**返回值:**
310
311| 类型 | 说明 |
312| -------- | -------- |
313| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
314
315**示例:**
316
317  ```js
318  dataAbilityPredicates.isNull("NAME")
319  ```
320
321### isNotNull
322
323isNotNull(field: string): DataAbilityPredicates
324
325配置谓词以匹配值不为null的指定字段。
326
327**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core328
329**参数:**
330
331| 参数名 | 类型 | 必填 | 说明 |
332| -------- | -------- | -------- | -------- |
333| field | string | 是 | 数据库表中的列名。 |
334
335**返回值:**
336
337| 类型 | 说明 |
338| -------- | -------- |
339| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
340
341**示例:**
342
343  ```js
344  dataAbilityPredicates.isNotNull("NAME")
345  ```
346
347### like
348
349like(field: string, value: string): DataAbilityPredicates
350
351配置谓词以匹配数据类型为string且值类似于指定字符串的字段。
352
353此方法类似于SQL语句“like”。
354
355**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core356
357**参数:**
358
359| 参数名 | 类型 | 必填 | 说明 |
360| -------- | -------- | -------- | -------- |
361| field | string | 是 | 数据库表中的列名。 |
362| value | string | 是 | 指示要与谓词匹配的值。 |
363
364**返回值:**
365
366| 类型 | 说明 |
367| -------- | -------- |
368| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
369
370**示例:**
371
372  ```js
373  dataAbilityPredicates.like("NAME", "%os%")
374  ```
375
376### glob
377
378glob(field: string, value: string): DataAbilityPredicates
379
380配置谓词以匹配数据类型为string的指定字段。与like方法不同,该方法的输入参数区分大小写。
381
382**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core383
384**参数:**
385
386| 参数名 | 类型 | 必填 | 说明 |
387| -------- | -------- | -------- | -------- |
388| field | string | 是 | 数据库表中的列名。 |
389| value | string | 是 | 指示要与谓词匹配的值。 |
390
391**返回值:**
392
393| 类型 | 说明 |
394| -------- | -------- |
395| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
396
397**示例:**
398
399  ```js
400  dataAbilityPredicates.glob("NAME", "?h*g")
401
402  // 仅可匹配到"name"字段值为“Lisa”
403  dataAbilityPredicates.glob("NAME", "Lisa")
404
405  // 仅可以匹配到"name"字段值为“lisa”
406  dataAbilityPredicates.glob("NAME", "lisa")
407  ```
408
409### between
410
411between(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
412
413配置谓词以匹配数据类型为ValueType且value在指定范围内的指定字段。
414
415**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core416
417**参数:**
418
419| 参数名 | 类型 | 必填 | 说明 |
420| -------- | -------- | -------- | -------- |
421| field | string | 是 | 数据库表中的列名。 |
422| low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
423| high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
424
425**返回值:**
426
427| 类型 | 说明 |
428| -------- | -------- |
429| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
430
431**示例:**
432
433  ```js
434  dataAbilityPredicates.between("AGE", 10, 50)
435  ```
436
437### notBetween
438
439notBetween(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
440
441配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段。
442
443**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core444
445**参数:**
446
447| 参数名 | 类型 | 必填 | 说明 |
448| -------- | -------- | -------- | -------- |
449| field | string | 是 | 数据库表中的列名。 |
450| low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 |
451| high | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最大值。 |
452
453**返回值:**
454
455| 类型 | 说明 |
456| -------- | -------- |
457| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
458
459**示例:**
460
461  ```js
462  dataAbilityPredicates.notBetween("AGE", 10, 50)
463  ```
464
465### greaterThan
466
467greaterThan(field: string, value: ValueType): DataAbilityPredicates
468
469配置谓词以匹配数据类型为ValueType且值大于指定值的字段。
470
471**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core472
473**参数:**
474
475| 参数名 | 类型 | 必填 | 说明 |
476| -------- | -------- | -------- | -------- |
477| field | string | 是 | 数据库表中的列名。 |
478| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
479
480**返回值:**
481
482| 类型 | 说明 |
483| -------- | -------- |
484| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
485
486**示例:**
487
488  ```js
489  dataAbilityPredicates.greaterThan("AGE", 18)
490  ```
491
492### lessThan
493
494lessThan(field: string, value: ValueType): DataAbilityPredicates
495
496配置谓词以匹配数据类型为valueType且value小于指定值的字段。
497
498**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core499
500**参数:**
501
502| 参数名 | 类型 | 必填 | 说明 |
503| -------- | -------- | -------- | -------- |
504| field | string | 是 | 数据库表中的列名。 |
505| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
506
507**返回值:**
508
509| 类型 | 说明 |
510| -------- | -------- |
511| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
512
513**示例:**
514
515  ```js
516  dataAbilityPredicates.lessThan("AGE", 20)
517  ```
518
519### greaterThanOrEqualTo
520
521greaterThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
522
523配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段。
524
525**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core526
527**参数:**
528
529| 参数名 | 类型 | 必填 | 说明 |
530| -------- | -------- | -------- | -------- |
531| field | string | 是 | 数据库表中的列名。 |
532| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
533
534**返回值:**
535
536| 类型 | 说明 |
537| -------- | -------- |
538| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
539
540**示例:**
541
542  ```js
543  dataAbilityPredicates.greaterThanOrEqualTo("AGE", 18)
544  ```
545
546### lessThanOrEqualTo
547
548lessThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
549
550配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。
551
552**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core553
554**参数:**
555
556| 参数名 | 类型 | 必填 | 说明 |
557| -------- | -------- | -------- | -------- |
558| field | string | 是 | 数据库表中的列名。 |
559| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 |
560
561**返回值:**
562
563| 类型 | 说明 |
564| -------- | -------- |
565| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
566
567**示例:**
568
569  ```js
570  dataAbilityPredicates.lessThanOrEqualTo("AGE", 20)
571  ```
572
573### orderByAsc
574
575orderByAsc(field: string): DataAbilityPredicates
576
577配置谓词以匹配其值按升序排序的列。当有多个orderByAsc使用时,最先使用的具有最高优先级。
578
579**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core580
581**参数:**
582
583| 参数名 | 类型 | 必填 | 说明 |
584| -------- | -------- | -------- | -------- |
585| field | string | 是 | 数据库表中的列名。 |
586
587**返回值:**
588
589| 类型 | 说明 |
590| -------- | -------- |
591| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
592
593**示例:**
594
595  ```js
596  // 先按“name”字段排序,相同时按“AGE”字段排序,其次按“SALARY”排序
597  dataAbilityPredicates.orderByAsc("NAME").orderByAsc("AGE").orderByAsc("SALARY")
598  ```
599
600### orderByDesc
601
602orderByDesc(field: string): DataAbilityPredicates
603
604配置谓词以匹配其值按降序排序的列。当有多个orderByDesc使用时,最先使用的具有最高优先级。
605
606**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core607
608**参数:**
609
610| 参数名 | 类型 | 必填 | 说明 |
611| -------- | -------- | -------- | -------- |
612| field | string | 是 | 数据库表中的列名。 |
613
614**返回值:**
615
616| 类型 | 说明 |
617| -------- | -------- |
618| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
619
620**示例:**
621
622  ```js
623  // 优先按“AGE”排序,相同时按“SALARY”排序
624  dataAbilityPredicates.orderByDesc("AGE").orderByDesc("SALARY")
625  ```
626
627### distinct
628
629distinct(): DataAbilityPredicates
630
631配置谓词以过滤重复记录并仅保留其中一个。
632
633**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core634
635**返回值:**
636
637| 类型 | 说明 |
638| -------- | -------- |
639| [DataAbilityPredicates](#dataabilitypredicates) | 返回可用于过滤重复记录的谓词。 |
640
641**示例:**
642
643  ```js
644  dataAbilityPredicates.equalTo("NAME", "Rose").distinct()
645  ```
646
647### limitAs
648
649limitAs(value: number): DataAbilityPredicates
650
651设置最大数据记录数的谓词。
652
653**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core654
655**参数:**
656
657| 参数名 | 类型 | 必填 | 说明 |
658| -------- | -------- | -------- | -------- |
659| value | number | 是 | 最大数据记录数。 |
660
661**返回值:**
662
663| 类型 | 说明 |
664| -------- | -------- |
665| [DataAbilityPredicates](#dataabilitypredicates) | 返回可用于设置最大数据记录数的谓词。 |
666
667**示例:**
668
669  ```js
670  dataAbilityPredicates.equalTo("NAME", "Rose").limitAs(3)
671  ```
672
673### offsetAs
674
675offsetAs(rowOffset: number): DataAbilityPredicates
676
677配置谓词以指定返回结果的起始位置。将此方法必须与limitAs一起使用。
678
679**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core680
681**参数:**
682
683| 参数名 | 类型 | 必填 | 说明 |
684| -------- | -------- | -------- | -------- |
685| rowOffset | number | 是 | 返回结果的起始位置,取值为正整数。 |
686
687**返回值:**
688
689| 类型 | 说明 |
690| -------- | -------- |
691| [DataAbilityPredicates](#dataabilitypredicates) | 返回具有指定返回结果起始位置的谓词。 |
692
693**示例:**
694
695  ```js
696  // 跳过前三条数据,显示后续三条数据
697  dataAbilityPredicates.equalTo("NAME", "Rose").offsetAs(3).limitAs(3)
698  ```
699
700
701### groupBy
702
703groupBy(fields: Array<string>): DataAbilityPredicates
704
705配置谓词按指定列分组查询结果。
706
707**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core708
709**参数:**
710
711| 参数名 | 类型 | 必填 | 说明 |
712| -------- | -------- | -------- | -------- |
713| fields | Array<string> | 是 | 指定分组依赖的列名。 |
714
715**返回值:**
716
717| 类型 | 说明 |
718| -------- | -------- |
719| [DataAbilityPredicates](#dataabilitypredicates) | 返回分组查询列的谓词。 |
720
721**示例:**
722
723  ```js
724  dataAbilityPredicates.groupBy(["AGE", "NAME"])
725  ```
726
727### indexedBy
728
729indexedBy(field: string): DataAbilityPredicates
730
731配置谓词以指定索引列。在使用此方法之前,您需要创建一个索引列。
732
733**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core734
735**参数:**
736
737| 参数名 | 类型 | 必填 | 说明 |
738| -------- | -------- | -------- | -------- |
739| indexName | string | 是 | 创建的索引列名称。 |
740
741**返回值:**
742
743| 类型 | 说明 |
744| -------- | -------- |
745| [DataAbilityPredicates](#dataabilitypredicates) | 返回具有指定索引列的谓词。 |
746
747**示例:**
748
749  ```js
750  import rdb from '@ohos.data.rdb'; // 导入模块
751  import featureAbility from '@ohos.ability.featureAbility';
752  import dataAbility from '@ohos.data.dataAbility';
753
754  let context = getContext(this);
755
756  const STORE_CONFIG : rdb.StoreConfig= {
757      name: 'RdbTest.db', // 数据库文件名
758  };
759  // 表结构:EMPLOYEE (NAME, AGE, SALARY, CODES)
760  const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)'; // 建表Sql语句
761  rdb.getRdbStore(this.context, STORE_CONFIG, 3, async (err, store) => {
762    if (err) {
763      console.error(`Failed to get RdbStore. Code:${err.code}, message:${err.message}`);
764      return;
765    }
766    console.info('Succeeded in getting RdbStore.');
767
768
769    await store.executeSql(SQL_CREATE_TABLE); // 创建数据表
770
771
772    // 创建索引
773    const SQL_CREATE_INDEX = 'CREATE INDEX SALARY_INDEX ON EMPLOYEE(SALARY)'
774    await store.executeSql(SQL_CREATE_INDEX);
775    // ...
776
777    let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
778    dataAbilityPredicates.indexedBy("SALARY_INDEX")
779
780    //  ...
781  })
782  ```
783
784### in
785
786in(field: string, value: Array<ValueType>): DataAbilityPredicates
787
788配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。
789
790**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core791
792**参数:**
793
794| 参数名 | 类型 | 必填 | 说明 |
795| -------- | -------- | -------- | -------- |
796| field | string | 是 | 数据库表中的列名。 |
797| value | Array<[ValueType](#valuetype)> | 是 | 以ValueType类型数组形式指定的要匹配的值。 |
798
799
800**返回值:**
801
802| 类型 | 说明 |
803| -------- | -------- |
804| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
805
806**示例:**
807
808  ```js
809  dataAbilityPredicates.in("AGE", [18, 20])
810  ```
811
812### notIn
813
814notIn(field: string, value: Array<ValueType>): DataAbilityPredicates
815
816配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。
817
818**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core819
820**参数:**
821
822| 参数名 | 类型 | 必填 | 说明 |
823| -------- | -------- | -------- | -------- |
824| field | string | 是 | 数据库表中的列名。 |
825| value | Array<[ValueType](#valuetype)> | 是 | 以ValueType类型数组形式指定的要匹配的值。 |
826
827**返回值:**
828
829| 类型 | 说明 |
830| -------- | -------- |
831| [DataAbilityPredicates](#dataabilitypredicates) | 返回与指定字段匹配的谓词。 |
832
833**示例:**
834
835  ```js
836  dataAbilityPredicates.notIn("NAME", ["Lisa", "Rose"])
837  ```
838
839## ValueType
840
841用于表示允许的数据字段类型。
842
843**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core844
845| 类型    | 说明                 |
846| ------- | -------------------- |
847| number  | 表示值类型为数字。   |
848| string  | 表示值类型为字符。   |
849| boolean | 表示值类型为布尔值。 |
850