1e41f4b71Sopenharmony_ci# @ohos.data.dataSharePredicates (数据共享谓词)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci**谓词(DataSharePredicates)** 是开发者通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据、删除数据和查询数据中。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci谓词的接口函数与数据库的筛选条件一一对应,开发者在使用前需了解数据库相关知识。
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci> **说明:** 
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10e41f4b71Sopenharmony_ci>
11e41f4b71Sopenharmony_ci> - 本模块接口仅可在Stage模型下使用。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## 导入模块
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci```ts
18e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
19e41f4b71Sopenharmony_ci```
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci## DataSharePredicates
22e41f4b71Sopenharmony_ci提供用于不同实现不同查询方法的数据共享谓词。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci### equalTo<sup>10+</sup>
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ciequalTo(field: string, value: ValueType): DataSharePredicates
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci该接口用于配置谓词以匹配值等于指定值的字段。
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**参数:**
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci| 参数名 | 类型                                                | 必填 | 说明                   |
37e41f4b71Sopenharmony_ci| ------ | --------------------------------------------------- | ---- | ---------------------- |
38e41f4b71Sopenharmony_ci| field  | string                                              | 是   | 数据库表中的列名。     |
39e41f4b71Sopenharmony_ci| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci**返回值:**
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci| 类型                                        | 说明                       |
44e41f4b71Sopenharmony_ci| ------------------------------------------- | -------------------------- |
45e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci**示例:**
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci```ts
50e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
51e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose")
52e41f4b71Sopenharmony_ci```
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci### and<sup>10+</sup>
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ciand(): DataSharePredicates
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci该接口用于将和条件添加到谓词中。
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci**返回值:**
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci| 类型                                        | 说明                   |
68e41f4b71Sopenharmony_ci| ------------------------------------------- | ---------------------- |
69e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 |
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci**示例:**
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci```ts
74e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
75e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "lisi")
76e41f4b71Sopenharmony_ci    .and()
77e41f4b71Sopenharmony_ci    .equalTo("SALARY", 200.5)
78e41f4b71Sopenharmony_ci```
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci### orderByAsc<sup>10+</sup>
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ciorderByAsc(field: string): DataSharePredicates
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci该接口用于配置谓词以匹配其值按升序排序的列。
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**参数:**
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明               |
93e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ |
94e41f4b71Sopenharmony_ci| field  | string | 是   | 数据库表中的列名。 |
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**返回值:**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci| 类型                                        | 说明                       |
99e41f4b71Sopenharmony_ci| ------------------------------------------- | -------------------------- |
100e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci**示例:**
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci```ts
105e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
106e41f4b71Sopenharmony_cipredicates.orderByAsc("AGE")
107e41f4b71Sopenharmony_ci```
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci### orderByDesc<sup>10+</sup>
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ciorderByDesc(field: string): DataSharePredicates
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci该接口用于配置谓词以匹配其值按降序排序的列。
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**参数:**
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明               |
122e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ |
123e41f4b71Sopenharmony_ci| field  | string | 是   | 数据库表中的列名。 |
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**返回值:**
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci| 类型                                        | 说明                       |
128e41f4b71Sopenharmony_ci| ------------------------------------------- | -------------------------- |
129e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci**示例:**
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci```ts
134e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
135e41f4b71Sopenharmony_cipredicates.orderByDesc("AGE")
136e41f4b71Sopenharmony_ci```
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci### limit<sup>10+</sup>
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_cilimit(total: number, offset: number): DataSharePredicates
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci该接口用于配置谓词以指定结果数和起始位置。
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ci**参数:**
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci| 参数名   | 类型   | 必填 | 说明           |
151e41f4b71Sopenharmony_ci| -------- | ------ | ---- | -------------- |
152e41f4b71Sopenharmony_ci| total    | number | 是   | 指定结果数。   |
153e41f4b71Sopenharmony_ci| offset | number | 是   | 指示起始位置。 |
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci**返回值:**
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci| 类型                                        | 说明                       |
158e41f4b71Sopenharmony_ci| ------------------------------------------- | -------------------------- |
159e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci**示例:**
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci```ts
164e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
165e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose").limit(10, 3)
166e41f4b71Sopenharmony_ci```
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci### in<sup>10+</sup>
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ciin(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci该接口用于配置谓词以匹配值在指范围内的字段。
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci目前仅RDB及KVDB(schema)支持该谓词。
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci**参数:**
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci| 参数名  | 类型             | 必填 | 说明                                    |
181e41f4b71Sopenharmony_ci| ------- | ---------------- | ---- | --------------------------------------- |
182e41f4b71Sopenharmony_ci| field   | string           | 是 | 数据库表中的列名。                      |
183e41f4b71Sopenharmony_ci| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | 是   | 以ValueType型数组形式指定的要匹配的值。 |
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci**返回值:**
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci| 类型                                        | 说明                       |
188e41f4b71Sopenharmony_ci| ------------------------------------------- | -------------------------- |
189e41f4b71Sopenharmony_ci| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**示例:**
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci```ts
194e41f4b71Sopenharmony_cilet predicates = new dataSharePredicates.DataSharePredicates()
195e41f4b71Sopenharmony_cipredicates.in("AGE", [18, 20])
196e41f4b71Sopenharmony_ci```