1# @ohos.data.dataSharePredicates (数据共享谓词) 2 3**谓词(DataSharePredicates)** 是开发者通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据([update](js-apis-data-dataShare.md#update))、删除数据([delete](js-apis-data-dataShare.md#delete))和查询数据([query](js-apis-data-dataShare.md#query))中。 4 5谓词的接口函数与数据库的筛选条件一一对应,开发者在使用前需了解数据库相关知识。 6 7> **说明:** 8> 9> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10> 11> 本模块接口仅可在Stage模型下使用。 12 13 14 15## 导入模块 16 17```ts 18import dataSharePredicates from '@ohos.data.dataSharePredicates'; 19``` 20 21## DataSharePredicates 22提供用于不同实现不同查询方法的数据共享谓词。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。 23 24### equalTo<sup>10+</sup> 25 26equalTo(field: string, value: ValueType): DataSharePredicates 27 28该接口用于配置谓词以匹配值等于指定值的字段。 29 30目前仅RDB及KVDB(schema)支持该谓词。 31 32**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 33 34**参数:** 35 36| 参数名 | 类型 | 必填 | 说明 | 37| ------ | --------------------------------------------------- | ---- | ---------------------- | 38| field | string | 是 | 数据库表中的列名。 | 39| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 40 41**返回值:** 42 43| 类型 | 说明 | 44| ------------------------------------------- | -------------------------- | 45| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 46 47**示例:** 48 49```ts 50let predicates = new dataSharePredicates.DataSharePredicates() 51predicates.equalTo("NAME", "Rose") 52``` 53 54### notEqualTo 55 56notEqualTo(field: string, value: ValueType): DataSharePredicates 57 58该接口用于配置谓词以匹配值不等于指定值的字段。 59 60目前仅RDB及KVDB(schema)支持该谓词。 61 62**系统接口:** 此接口为系统接口。 63 64**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 65 66**参数:** 67 68| 参数名 | 类型 | 必填 | 说明 | 69| ------ | --------------------------------------------------- | ---- | ---------------------- | 70| field | string | 是 | 数据库表中的列名。 | 71| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 72 73**返回值:** 74 75| 类型 | 说明 | 76| ------------------------------------------- | -------------------------- | 77| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 78 79**示例:** 80 81```ts 82let predicates = new dataSharePredicates.DataSharePredicates() 83predicates.notEqualTo("NAME", "Rose") 84``` 85 86### beginWrap 87 88beginWrap(): DataSharePredicates 89 90该接口用于向谓词添加左括号,相当于sql语句的“(”,必须和右括号一起使用。 91 92目前仅RDB支持该谓词。 93 94**系统接口:** 此接口为系统接口。 95 96**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 97 98**返回值:** 99 100| 类型 | 说明 | 101| ------------------------------------------- | ---------------------- | 102| [DataSharePredicates](#datasharepredicates) | 返回带有左括号的谓词。 | 103 104**示例:** 105 106```ts 107let predicates = new dataSharePredicates.DataSharePredicates() 108predicates.equalTo("NAME", "lisi") 109 .beginWrap() 110 .equalTo("AGE", 18) 111 .or() 112 .equalTo("SALARY", 200.5) 113 .endWrap() 114``` 115 116### endWrap 117 118endWrap(): DataSharePredicates 119 120该接口用于向谓词添加右括号。 121 122目前仅RDB支持该谓词。 123 124**系统接口:** 此接口为系统接口。 125 126**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 127 128**返回值:** 129 130| 类型 | 说明 | 131| ------------------------------------------- | ---------------------- | 132| [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 | 133 134**示例:** 135 136```ts 137let predicates = new dataSharePredicates.DataSharePredicates() 138predicates.equalTo("NAME", "lisi") 139 .beginWrap() 140 .equalTo("AGE", 18) 141 .or() 142 .equalTo("SALARY", 200.5) 143 .endWrap() 144``` 145 146### or 147 148or(): DataSharePredicates 149 150该接口用于将或条件添加到谓词中。 151 152目前仅RDB及KVDB(schema)支持该谓词。 153 154**系统接口:** 此接口为系统接口。 155 156**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 157 158**返回值:** 159 160| 类型 | 说明 | 161| ------------------------------------------- | ---------------------- | 162| [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 | 163 164**示例:** 165 166```ts 167let predicates = new dataSharePredicates.DataSharePredicates() 168predicates.equalTo("NAME", "lisi") 169 .or() 170 .equalTo("NAME", "Rose") 171``` 172 173### and<sup>10+</sup> 174 175and(): DataSharePredicates 176 177该接口用于将和条件添加到谓词中。 178 179目前仅RDB及KVDB(schema)支持该谓词。 180 181**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 182 183**返回值:** 184 185| 类型 | 说明 | 186| ------------------------------------------- | ---------------------- | 187| [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 | 188 189**示例:** 190 191```ts 192let predicates = new dataSharePredicates.DataSharePredicates() 193predicates.equalTo("NAME", "lisi") 194 .and() 195 .equalTo("SALARY", 200.5) 196``` 197 198### contains 199 200contains(field: string, value: string): DataSharePredicates 201 202该接口用于配置谓词以匹配值包含指定字段的字段。 203 204目前仅RDB支持该谓词。 205 206**系统接口:** 此接口为系统接口。 207 208**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 209 210**参数:** 211 212| 参数名 | 类型 | 必填 | 说明 | 213| ------ | ------ | ---- | -------------------- | 214| field | string | 是 | 数据库表中的列名。 | 215| value | string | 是 | 指示值中包含该字段。 | 216 217**返回值:** 218 219| 类型 | 说明 | 220| ------------------------------------------- | -------------------------- | 221| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 222 223**示例:** 224 225```ts 226let predicates = new dataSharePredicates.DataSharePredicates() 227predicates.contains("NAME", "os") 228``` 229 230### beginsWith 231 232beginsWith(field: string, value: string): DataSharePredicates 233 234该接口用于配置谓词以匹配值以指定字符串起始的字段。 235 236目前仅RDB支持该谓词。 237 238**系统接口:** 此接口为系统接口。 239 240**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 241 242**参数:** 243 244| 参数名 | 类型 | 必填 | 说明 | 245| ------ | ------ | ---- | ---------------------- | 246| field | string | 是 | 数据库表中的列名。 | 247| value | string | 是 | 指示值以该字符串起始。 | 248 249**返回值:** 250 251| 类型 | 说明 | 252| ------------------------------------------- | -------------------------- | 253| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 254 255**示例:** 256 257```ts 258let predicates = new dataSharePredicates.DataSharePredicates() 259predicates.beginsWith("NAME", "os") 260``` 261 262### endsWith 263 264endsWith(field: string, value: string): DataSharePredicates 265 266该接口用于配置谓词以匹配值以指定字符串结尾的字段。 267 268目前仅RDB支持该谓词。 269 270**系统接口:** 此接口为系统接口。 271 272**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 273 274**参数:** 275 276| 参数名 | 类型 | 必填 | 说明 | 277| ------ | ------ | ---- | ---------------------- | 278| field | string | 是 | 数据库表中的列名。 | 279| value | string | 是 | 指示值以该字符串结尾。 | 280 281**返回值:** 282 283| 类型 | 说明 | 284| ------------------------------------------- | -------------------------- | 285| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 286 287**示例:** 288 289```ts 290let predicates = new dataSharePredicates.DataSharePredicates() 291predicates.endsWith("NAME", "os") 292``` 293 294### isNull 295 296isNull(field: string): DataSharePredicates 297 298该接口用于配置谓词以匹配值为null的字段。 299 300目前仅RDB及KVDB(schema)支持该谓词。 301 302**系统接口:** 此接口为系统接口。 303 304**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 305 306**参数:** 307 308| 参数名 | 类型 | 必填 | 说明 | 309| ------ | ------ | ---- | ------------------ | 310| field | string | 是 | 数据库表中的列名。 | 311 312**返回值:** 313 314| 类型 | 说明 | 315| ------------------------------------------- | -------------------------- | 316| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 317 318**示例:** 319 320```ts 321let predicates = new dataSharePredicates.DataSharePredicates() 322predicates.isNull("NAME") 323``` 324 325### isNotNull 326 327isNotNull(field: string): DataSharePredicates 328 329该接口用于配置谓词以匹配值不为null的字段。 330 331目前仅RDB及KVDB(schema)支持该谓词。 332 333**系统接口:** 此接口为系统接口。 334 335**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 336 337**参数:** 338 339| 参数名 | 类型 | 必填 | 说明 | 340| ------ | ------ | ---- | ------------------ | 341| field | string | 是 | 数据库表中的列名。 | 342 343**返回值:** 344 345| 类型 | 说明 | 346| ------------------------------------------- | -------------------------- | 347| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 348 349**示例:** 350 351```ts 352let predicates = new dataSharePredicates.DataSharePredicates() 353predicates.isNotNull("NAME") 354``` 355 356### like 357 358like(field: string, value: string): DataSharePredicates 359 360该接口用于配置谓词以匹配指定通配符表达式的字段。 361 362目前仅RDB及KVDB(schema)支持该谓词。 363 364**系统接口:** 此接口为系统接口。 365 366**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 367 368**参数:** 369 370| 参数名 | 类型 | 必填 | 说明 | 371| ------ | ------ | ---- | ---------------------- | 372| field | string | 是 | 数据库表中的列名。 | 373| value | string | 是 | 指示要与谓词匹配的通配符表达式。 <br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。| 374 375**返回值:** 376 377| 类型 | 说明 | 378| ------------------------------------------- | -------------------------- | 379| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 380 381**示例:** 382 383```ts 384let predicates = new dataSharePredicates.DataSharePredicates() 385predicates.like("NAME", "%os%") 386``` 387 388### unlike 389 390unlike(field: string, value: string): DataSharePredicates 391 392该接口用于配置谓词以匹配不类似指定通配符表达式的字段。 393 394目前仅RDB及KVDB(schema)支持该谓词。 395 396**系统接口:** 此接口为系统接口。 397 398**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 399 400**参数:** 401 402| 参数名 | 类型 | 必填 | 说明 | 403| ------ | ------ | ---- | ---------------------- | 404| field | string | 是 | 数据库表中的列名。 | 405| value | string | 是 | 指示要与谓词匹配的通配符表达式。<br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。 | 406 407**返回值:** 408 409| 类型 | 说明 | 410| ------------------------------------------- | -------------------------- | 411| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 412 413**示例:** 414 415```ts 416let predicates = new dataSharePredicates.DataSharePredicates() 417predicates.unlike("NAME", "%os%") 418``` 419 420### glob 421 422glob(field: string, value: string): DataSharePredicates 423 424该接口用于配置谓词以匹配指定通配符表达式的字段。 425 426目前仅RDB支持该谓词。 427 428**系统接口:** 此接口为系统接口。 429 430**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 431 432**参数:** 433 434| 参数名 | 类型 | 必填 | 说明 | 435| ------ | ------ | ---- | ---------------------- | 436| field | string | 是 | 数据库表中的列名。 | 437| value | string | 是 | 指示要与谓词匹配的通配符表达式。<br>表达式中'*'代表零个、一个或多个数字或字符,'?'代表一个单一的数字或字符,区分大小写。| 438 439**返回值:** 440 441| 类型 | 说明 | 442| ------------------------------------------- | -------------------------- | 443| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 444 445**示例:** 446 447```ts 448let predicates = new dataSharePredicates.DataSharePredicates() 449predicates.glob("NAME", "?h*g") 450``` 451 452### between 453 454between(field: string, low: ValueType, high: ValueType): DataSharePredicates 455 456该接口用于配置谓词以匹配值在指定范围内的字段。包含两端边界值,为左闭右闭区间,该字段的数据类型必须为int类型。 457 458目前仅RDB支持该谓词。 459 460**系统接口:** 此接口为系统接口。 461 462**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 463 464**参数:** 465 466| 参数名 | 类型 | 必填 | 说明 | 467| ------ | --------------------------------------------------- | ---- | ------------------------ | 468| field | string | 是 | 数据库表中的列名。 | 469| low | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最小值。 | 470| high | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最大值。 | 471 472**返回值:** 473 474| 类型 | 说明 | 475| ------------------------------------------- | -------------------------- | 476| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 477 478**示例:** 479 480```ts 481let predicates = new dataSharePredicates.DataSharePredicates() 482predicates.between("AGE", 10, 50) 483``` 484 485### notBetween 486 487notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates 488 489该接口用于配置谓词以匹配值超出指定范围的字段。不包含两端边界值,为左开右开区间,该字段的数据类型必须为int类型。 490 491目前仅RDB支持该谓词。 492 493**系统接口:** 此接口为系统接口。 494 495**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 496 497**参数:** 498 499| 参数名 | 类型 | 必填 | 说明 | 500| ------ | --------------------------------------------------- | ---- | ------------------------ | 501| field | string | 是 | 数据库表中的列名。 | 502| low | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最小值。 | 503| high | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最大值。 | 504 505**返回值:** 506 507| 类型 | 说明 | 508| ------------------------------------------- | -------------------------- | 509| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 510 511**示例:** 512 513```ts 514let predicates = new dataSharePredicates.DataSharePredicates() 515predicates.notBetween("AGE", 10, 50) 516``` 517 518### greaterThan 519 520greaterThan(field: string, value: ValueType): DataSharePredicates 521 522该接口用于配置谓词以匹配值大于指定值的字段。 523 524目前仅RDB及KVDB(schema)支持该谓词。 525 526**系统接口:** 此接口为系统接口。 527 528**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 529 530**参数:** 531 532| 参数名 | 类型 | 必填 | 说明 | 533| ------- | --------- | ---- | ---------------------- | 534| field | string | 是 | 数据库表中的列名。 | 535| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 536 537**返回值:** 538 539| 类型 | 说明 | 540| ------------------------------------------- | -------------------------- | 541| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 542 543**示例:** 544 545```ts 546let predicates = new dataSharePredicates.DataSharePredicates() 547predicates.greaterThan("AGE", 10) 548``` 549 550### lessThan 551 552lessThan(field: string, value: ValueType): DataSharePredicates 553 554该接口用于配置谓词以匹配值小于指定值的字段。 555 556目前仅RDB及KVDB(schema)支持该谓词。 557 558**系统接口:** 此接口为系统接口。 559 560**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 561 562**参数:** 563 564| 参数名 | 类型 | 必填 | 说明 | 565| ------ | --------------------------------------------------- | ---- | ---------------------- | 566| field | string | 是 | 数据库表中的列名。 | 567| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 568 569**返回值:** 570 571| 类型 | 说明 | 572| ------------------------------------------- | -------------------------- | 573| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 574 575**示例:** 576 577```ts 578let predicates = new dataSharePredicates.DataSharePredicates() 579predicates.lessThan("AGE", 50) 580``` 581 582### greaterThanOrEqualTo 583 584greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates 585 586该接口用于配置谓词以匹配值大于或等于指定值的字段。 587 588目前仅RDB及KVDB(schema)支持该谓词。 589 590**系统接口:** 此接口为系统接口。 591 592**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 593 594**参数:** 595 596| 参数名 | 类型 | 必填 | 说明 | 597| ------- | --------- | ---- | ---------------------- | 598| field | string | 是 | 数据库表中的列名。 | 599| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 600 601**返回值:** 602 603| 类型 | 说明 | 604| ------------------------------------------- | -------------------------- | 605| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 606 607**示例:** 608 609```ts 610let predicates = new dataSharePredicates.DataSharePredicates() 611predicates.greaterThanOrEqualTo("AGE", 10) 612``` 613 614### lessThanOrEqualTo 615 616lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates 617 618该接口用于配置谓词以匹配值小于或等于指定值的字段。 619 620目前仅RDB及KVDB(schema)支持该谓词。 621 622**系统接口:** 此接口为系统接口。 623 624**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 625 626**参数:** 627 628| 参数名 | 类型 | 必填 | 说明 | 629| ------- | --------- | ---- | ---------------------- | 630| field | string | 是 | 数据库表中的列名。 | 631| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 | 632 633**返回值:** 634 635| 类型 | 说明 | 636| ------------------------------------------- | -------------------------- | 637| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 638 639**示例:** 640 641```ts 642let predicates = new dataSharePredicates.DataSharePredicates() 643predicates.lessThanOrEqualTo("AGE", 50) 644``` 645 646### orderByAsc<sup>10+</sup> 647 648orderByAsc(field: string): DataSharePredicates 649 650该接口用于配置谓词以匹配其值按升序排序的列。 651 652目前仅RDB及KVDB(schema)支持该谓词。 653 654**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 655 656**参数:** 657 658| 参数名 | 类型 | 必填 | 说明 | 659| ------ | ------ | ---- | ------------------ | 660| field | string | 是 | 数据库表中的列名。 | 661 662**返回值:** 663 664| 类型 | 说明 | 665| ------------------------------------------- | -------------------------- | 666| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 667 668**示例:** 669 670```ts 671let predicates = new dataSharePredicates.DataSharePredicates() 672predicates.orderByAsc("AGE") 673``` 674 675### orderByDesc<sup>10+</sup> 676 677orderByDesc(field: string): DataSharePredicates 678 679该接口用于配置谓词以匹配其值按降序排序的列。 680 681目前仅RDB及KVDB(schema)支持该谓词。 682 683**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 684 685**参数:** 686 687| 参数名 | 类型 | 必填 | 说明 | 688| ------ | ------ | ---- | ------------------ | 689| field | string | 是 | 数据库表中的列名。 | 690 691**返回值:** 692 693| 类型 | 说明 | 694| ------------------------------------------- | -------------------------- | 695| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 696 697**示例:** 698 699```ts 700let predicates = new dataSharePredicates.DataSharePredicates() 701predicates.orderByDesc("AGE") 702``` 703 704### distinct 705 706distinct(): DataSharePredicates 707 708该接口用于配置谓词以过滤重复记录并仅保留其中一个。 709 710目前仅RDB支持该谓词。 711 712**系统接口:** 此接口为系统接口。 713 714**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 715 716**返回值:** 717 718| 类型 | 说明 | 719| ------------------------------------------- | -------------------------- | 720| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 721 722**示例:** 723 724```ts 725let predicates = new dataSharePredicates.DataSharePredicates() 726predicates.equalTo("NAME", "Rose").distinct() 727``` 728 729### limit<sup>10+</sup> 730 731limit(total: number, offset: number): DataSharePredicates 732 733该接口用于配置谓词以指定结果数和起始位置。 734 735目前仅RDB及KVDB(schema)支持该谓词。 736 737**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 738 739**参数:** 740 741| 参数名 | 类型 | 必填 | 说明 | 742| -------- | ------ | ---- | -------------- | 743| total | number | 是 | 指定结果数。 | 744| offset | number | 是 | 指示起始位置。 | 745 746**返回值:** 747 748| 类型 | 说明 | 749| ------------------------------------------- | -------------------------- | 750| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 751 752**示例:** 753 754```ts 755let predicates = new dataSharePredicates.DataSharePredicates() 756predicates.equalTo("NAME", "Rose").limit(10, 3) 757``` 758 759### groupBy 760 761groupBy(fields: Array<string>): DataSharePredicates 762 763该接口用于配置谓词按指定列分组查询结果。 764 765目前仅RDB支持该谓词。 766 767**系统接口:** 此接口为系统接口。 768 769**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 770 771**参数:** 772 773| 参数名 | 类型 | 必填 | 说明 | 774| ------ | ------------- | ---- | -------------------- | 775| fields | Array<string> | 是 | 指定分组依赖的列名。 | 776 777**返回值:** 778 779| 类型 | 说明 | 780| ------------------------------------------- | -------------------------- | 781| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 782 783**示例:** 784 785```ts 786let predicates = new dataSharePredicates.DataSharePredicates() 787predicates.groupBy(["AGE", "NAME"]) 788``` 789 790### indexedBy 791 792indexedBy(field: string): DataSharePredicates 793 794该接口用于配置谓词按指定索引列查询结果。使用该方法前,需要设置索引列。 795 796目前仅RDB支持该谓词。 797 798**系统接口:** 此接口为系统接口。 799 800**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 801 802**参数:** 803 804| 参数名 | 类型 | 必填 | 说明 | 805| ------ | ------ | ---- | -------------- | 806| field | string | 是 | 索引列的名称。 | 807 808**返回值:** 809 810| 类型 | 说明 | 811| ------------------------------------------- | -------------------------- | 812| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 813 814**示例:** 815 816```ts 817let predicates = new dataSharePredicates.DataSharePredicates() 818predicates.indexedBy("SALARY_INDEX") 819``` 820 821### in<sup>10+</sup> 822 823in(field: string, value: Array<ValueType>): DataSharePredicates 824 825该接口用于配置谓词以匹配值在指范围内的字段。 826 827目前仅RDB及KVDB(schema)支持该谓词。 828 829**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 830 831**参数:** 832 833| 参数名 | 类型 | 必填 | 说明 | 834| ------- | ---------------- | ---- | --------------------------------------- | 835| field | string | 是 | 数据库表中的列名。 | 836| value | Array<[ValueType](js-apis-data-valuesBucket.md#valuetype)> | 是 | 以ValueType型数组形式指定的要匹配的值。 | 837 838**返回值:** 839 840| 类型 | 说明 | 841| ------------------------------------------- | -------------------------- | 842| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 843 844**示例:** 845 846```ts 847let predicates = new dataSharePredicates.DataSharePredicates() 848predicates.in("AGE", [18, 20]) 849``` 850 851### notIn 852 853notIn(field: string, value: Array<ValueType>): DataSharePredicates 854 855该接口用于配置谓词以匹配值不在指定范围内的字段。 856 857目前仅RDB及KVDB(schema)支持该谓词。 858 859**系统接口:** 此接口为系统接口。 860 861**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 862 863**参数:** 864 865| 参数名 | 类型 | 必填 | 说明 | 866| ------- | ---------------- | ---- | --------------------------------------- | 867| field | string | 是 | 数据库表中的列名。 | 868| value | Array<[ValueType](js-apis-data-valuesBucket.md#valuetype)> | 是 | 以ValueType型数组形式指定的要匹配的值。 | 869 870**返回值:** 871 872| 类型 | 说明 | 873| ------------------------------------------- | -------------------------- | 874| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 875 876**示例:** 877 878```ts 879let predicates = new dataSharePredicates.DataSharePredicates() 880predicates.notIn("NAME", ["Lisa", "Rose"]) 881``` 882 883### prefixKey 884 885prefixKey(prefix: string): DataSharePredicates 886 887该接口用于配置谓词以匹配键前缀的指定字段。 888 889目前仅KVDB支持该谓词。 890 891**系统接口:** 此接口为系统接口。 892 893**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 894 895**参数:** 896 897| 参数名 | 类型 | 必填 | 说明 | 898| ------ | ------ | ---- | -------------- | 899| prefix | string | 是 | 指定的键前缀。 | 900 901**返回值:** 902 903| 类型 | 说明 | 904| ------------------------------------------- | -------------------------- | 905| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 906 907**示例:** 908 909```ts 910let predicates = new dataSharePredicates.DataSharePredicates() 911predicates.prefixKey("NAME") 912``` 913 914### inKeys 915 916inKeys(keys: Array<string>): DataSharePredicates 917 918该接口用于配置谓词以匹配键在指定范围内的字段。 919 920目前仅KVDB支持该谓词。 921 922**系统接口:** 此接口为系统接口。 923 924**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core 925 926**参数:** 927 928| 参数名 | 类型 | 必填 | 说明 | 929| ------ | ------------- | ---- | ------------------ | 930| keys | Array<string> | 是 | 指定范围的键数组。 | 931 932**返回值:** 933 934| 类型 | 说明 | 935| ------------------------------------------- | -------------------------- | 936| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 | 937 938**示例:** 939 940```ts 941let predicates = new dataSharePredicates.DataSharePredicates() 942predicates.inKeys(["Lisa", "Rose"]) 943```