1# oh_predicates.h 2<!--Kit: ArkData--> 3<!--Subsystem: DistributedDataManager--> 4<!--Owner: @baijidong--> 5<!--Designer: @widecode; @htt1997--> 6<!--Tester: @yippo; @logic42--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11表示关系型数据库(RDB)的谓词。 12 13**引用文件:** <database/rdb/oh_predicates.h> 14 15**库:** libnative_rdb_ndk.z.so 16 17**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 18 19**起始版本:** 10 20 21**相关模块:** [RDB](capi-rdb.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -------------------------------------- | ------------- | ---------- | 29| [OH_Predicates](capi-rdb-oh-predicates.md) | OH_Predicates | 表示谓词。 | 30 31### 枚举 32 33| 名称 | typedef关键字 | 描述 | 34| ----------------------------- | ------------- | ---------- | 35| [OH_OrderType](#oh_ordertype) | OH_OrderType | 排序方式。 | 36 37### 函数 38 39| 名称 | 描述 | 40| ------------------------------------------------------------ | ------------------------------------------------------------ | 41| [int OH_Predicates_NotLike(OH_Predicates *predicates, const char *field, const char *pattern)](#oh_predicates_notlike) | 设置OH_Predicates以匹配数据类型为字符串且值不类似于指定值的字段。<br>此方法类似于SQL语句中的“Not like”。 | 42| [int OH_Predicates_Glob(OH_Predicates *predicates, const char *field, const char *pattern)](#oh_predicates_glob) | 设置OH_Predicates以匹配指定字段(数据类型为字符串)且值包含通配符的字段。<br>与like方法不同,此方法的输入参数区分大小写。 | 43| [int OH_Predicates_NotGlob(OH_Predicates *predicates, const char *field, const char *pattern)](#oh_predicates_notglob) | 设置OH_Predicates以不匹配指定字段(数据类型为字符串)且值包含通配符的字段。<br>与Not Like方法不同,此方法的输入参数区分大小写。 | 44| [int OH_Predicates_Having(OH_Predicates *predicates, const char *conditions, const OH_Data_Values *values)](#oh_predicates_having) | 设置OH_Predicates以指定条件来过滤分组结果,这些结果将出现在最终结果中。 | 45 46## 枚举类型说明 47 48### OH_OrderType 49 50``` 51enum OH_OrderType 52``` 53 54**描述** 55 56排序方式。 57 58**起始版本:** 10 59 60| 枚举项 | 描述 | 61| -------- | ---------- | 62| ASC = 0 | 升序排列。 | 63| DESC = 1 | 降序排列。 | 64 65 66## 函数说明 67 68### OH_Predicates_NotLike() 69 70``` 71int OH_Predicates_NotLike(OH_Predicates *predicates, const char *field, const char *pattern) 72``` 73 74**描述** 75 76设置OH_Predicates以匹配数据类型为字符串且值不类似于指定值的字段。<br>此方法类似于SQL语句中的“Not like”。 77 78**起始版本:** 20 79 80 81**参数:** 82 83| 参数项 | 描述 | 84| -------------------------------------------------- | ---------------------------------------------------------- | 85| [OH_Predicates](capi-rdb-oh-predicates.md) *predicates | 表示指向[OH_Predicates](capi-rdb-oh-predicates.md)实例的指针。 | 86| const char *field | 表示数据库表中的列名。 | 87| const char *pattern | 表示谓词不匹配的模式。 | 88 89**返回:** 90 91| 类型 | 说明 | 92| ---- | ------------------------------------------------------------ | 93| int | 返回执行结果。<br>如果执行成功,返回RDB_OK。<br>如果输入参数无效,返回RDB_E_INVALID_ARGS。 | 94 95### OH_Predicates_Glob() 96 97``` 98int OH_Predicates_Glob(OH_Predicates *predicates, const char *field, const char *pattern) 99``` 100 101**描述** 102 103设置OH_Predicates以匹配指定字段(数据类型为字符串)且值包含通配符的字段。<br>与like方法不同,此方法的输入参数区分大小写。 104 105**起始版本:** 20 106 107 108**参数:** 109 110| 参数项 | 描述 | 111| -------------------------------------------------- | ---------------------------------------------------------- | 112| [OH_Predicates](capi-rdb-oh-predicates.md) *predicates | 表示指向[OH_Predicates](capi-rdb-oh-predicates.md)实例的指针。 | 113| const char *field | 表示数据库表中的列名。 | 114| const char *pattern | 表示谓词匹配的样式。 | 115 116**返回:** 117 118| 类型 | 说明 | 119| ---- | ------------------------------------------------------------ | 120| int | 返回执行结果。<br>如果执行成功,返回RDB_OK。<br>如果输入参数无效,返回RDB_E_INVALID_ARGS。 | 121 122### OH_Predicates_NotGlob() 123 124``` 125int OH_Predicates_NotGlob(OH_Predicates *predicates, const char *field, const char *pattern) 126``` 127 128**描述** 129 130设置OH_Predicates以不匹配指定字段(数据类型为字符串)且值包含通配符的字段。<br>与Not Like方法不同,此方法的输入参数区分大小写。 131 132**起始版本:** 20 133 134 135**参数:** 136 137| 参数项 | 描述 | 138| -------------------------------------------------- | ---------------------------------------------------------- | 139| [OH_Predicates](capi-rdb-oh-predicates.md) *predicates | 表示指向[OH_Predicates](capi-rdb-oh-predicates.md)实例的指针。 | 140| const char *field | 表示数据库表中的列名。 | 141| const char *pattern | 表示谓词不匹配的样式。 | 142 143**返回:** 144 145| 类型 | 说明 | 146| ---- | ------------------------------------------------------------ | 147| int | 返回执行结果。<br>如果执行成功,返回RDB_OK。<br>如果输入参数无效,返回RDB_E_INVALID_ARGS。 | 148 149### OH_Predicates_Having() 150 151``` 152int OH_Predicates_Having(OH_Predicates *predicates, const char *conditions, const OH_Data_Values *values) 153``` 154 155**描述** 156 157设置OH_Predicates以指定条件来过滤分组结果,这些结果将出现在最终结果中。 158 159**起始版本:** 20 160 161 162**参数:** 163 164| 参数项 | 描述 | 165| ------------------------------------------------------ | ------------------------------------------------------------ | 166| [OH_Predicates](capi-rdb-oh-predicates.md) *predicates | 表示指向[OH_Predicates](capi-rdb-oh-predicates.md)实例的指针。 | 167| const char *conditions | 表示having子句中的过滤条件。 | 168| const [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 169 170**返回:** 171 172| 类型 | 说明 | 173| ---- | ------------------------------------------------------------ | 174| int | 返回错误码。<br>如果执行成功,返回RDB_OK。<br>如果输入参数无效,返回RDB_E_INVALID_ARGS。 | 175 176