DataAbility 謂詞
DataAbility 謂詞用于構造關系型數據庫的謂詞,提供用于實現不同查詢方法的謂詞。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
導入模塊
import dataAbility from '@ohos.data.dataAbility';
dataAbility.createRdbPredicates
createRdbPredicates(name: string, dataAbilityPredicates: DataAbilityPredicates): rdb.RdbPredicates
從DataAbilityPredicates對象創建RdbPredicates對象。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 數據庫表中的表名。 |
dataAbilityPredicates | [DataAbilityPredicates] | 是 | DataAbility謂詞。 |
返回值:
類型 | 說明 |
---|---|
rdb.[RdbPredicates] | 返回RdbPredicates對象。 |
示例:
let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
dataAbilityPredicates.equalTo("NAME", "Rose").between("AGE", 16, 30)
let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
DataAbilityPredicates
提供用于實現不同查詢方法的謂詞。
equalTo
equalTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且值等于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
notEqualTo
notEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且值不等于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notEqualTo("NAME", "lisi")
beginWrap
beginWrap(): DataAbilityPredicates
向謂詞添加左括號。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有左括號的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
endWrap
endWrap(): DataAbilityPredicates
向謂詞添加右括號。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有右括號的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
or
or(): DataAbilityPredicates
將或條件添加到謂詞中。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有或條件的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Lisa")
.or()
.equalTo("NAME", "Rose")
and
and(): DataAbilityPredicates
將和條件添加到謂詞中。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有和條件的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Lisa")
.and()
.equalTo("SALARY", 200.5)
contains
contains(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數據類型為string且value包含指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.contains("NAME", "os")
beginsWith
beginsWith(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數據類型為string且值以指定字符串開頭的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.beginsWith("NAME", "os")
endsWith
endsWith(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數據類型為string且值以指定字符串結尾的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.endsWith("NAME", "se")
isNull
isNull(field: string): DataAbilityPredicates
配置謂詞以匹配值為null的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.isNull("NAME")
isNotNull
isNotNull(field: string): DataAbilityPredicates
配置謂詞以匹配值不為null的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.isNotNull("NAME")
like
like(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數據類型為string且值類似于指定字符串的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.like("NAME", "%os%")
glob
glob(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數據類型為string的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.glob("NAME", "?h*g")
between
between(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且value在指定范圍內的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
low | [ValueType] | 是 | 指示與謂詞匹配的最小值。 |
high | [ValueType] | 是 | 指示與謂詞匹配的最大值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.between("AGE", 10, 50)
notBetween
notBetween(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且value超出給定范圍的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
low | [ValueType] | 是 | 指示與謂詞匹配的最小值。 |
high | [ValueType] | 是 | 指示與謂詞匹配的最大值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notBetween("AGE", 10, 50)
greaterThan
greaterThan(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且值大于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.greaterThan("AGE", 18)
lessThan
lessThan(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為valueType且value小于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.lessThan("AGE", 20)
greaterThanOrEqualTo
greaterThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且value大于或等于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.greaterThanOrEqualTo("AGE", 18)
lessThanOrEqualTo
lessThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType且value小于或等于指定值的字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.lessThanOrEqualTo("AGE", 20)
orderByAsc
orderByAsc(field: string): DataAbilityPredicates
配置謂詞以匹配其值按升序排序的列。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.orderByAsc("NAME")
orderByDesc
orderByDesc(field: string): DataAbilityPredicates
配置謂詞以匹配其值按降序排序的列。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.orderByDesc("AGE")
distinct
distinct(): DataAbilityPredicates
配置謂詞以過濾重復記錄并僅保留其中一個。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回可用于過濾重復記錄的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").distinct()
limitAs
limitAs(value: number): DataAbilityPredicates
設置最大數據記錄數的謂詞。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
value | number | 是 | 最大數據記錄數。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回可用于設置最大數據記錄數的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").limitAs(3)
offsetAs
offsetAs(rowOffset: number): DataAbilityPredicates
配置謂詞以指定返回結果的起始位置。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
rowOffset | number | 是 | 返回結果的起始位置,取值為正整數。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回具有指定返回結果起始位置的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").offsetAs(3)
groupBy
groupBy(fields: Array): DataAbilityPredicates
配置謂詞按指定列分組查詢結果。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
fields | Array | 是 | 指定分組依賴的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回分組查詢列的謂詞。 |
示例:
dataAbilityPredicates.groupBy(["AGE", "NAME"])
indexedBy
indexedBy(field: string): DataAbilityPredicates
配置謂詞以指定索引列。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
indexName | string | 是 | 索引列的名稱。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回具有指定索引列的謂詞。 |
示例:
dataAbilityPredicates.indexedBy("SALARY_INDEX")
in
in(field: string, value: Array): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType數組且值在給定范圍內的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType類型數組形式指定的要匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.in("AGE", [18, 20])
notIn
notIn(field: string, value: Array): DataAbilityPredicates
配置謂詞以匹配數據類型為ValueType數組且值不在給定范圍內的指定字段。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數據庫表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType類型數組形式指定的要匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notIn("NAME", ["Lisa", "Rose"])
ValueType
用于表示允許的數據字段類型。
系統能力: SystemCapability.DistributedDataManager.DataShare.Core。
名稱 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
number | 表示值類型為數字。 |
string | 表示值類型為字符。 |
boolean | 表示值類型為布爾值。 |
審核編輯 黃宇
-
接口
+關注
關注
33文章
8685瀏覽量
151649 -
數據管理
+關注
關注
1文章
300瀏覽量
19641 -
鴻蒙
+關注
關注
57文章
2388瀏覽量
42964
發布評論請先 登錄
相關推薦
評論