ARRAY_CONTAINS (Azure Cosmos DB)

适用于:SQL API

返回一个布尔,它指示数组是否包含指定的值。 可以通过在命令中使用布尔表达式来检查对象的部分匹配或完全匹配。

语法

ARRAY_CONTAINS (<arr_expr>, <expr> [, bool_expr])  

参数

arr_expr
是要搜索的数组表达式。

expr
是要找到的表达式。

bool_expr
是布尔表达式。 如果它的计算值为“true”,并且指定的搜索值是对象,则该命令将检查部分匹配(搜索对象是其中一个对象的子集)。 如果它的计算值为“false”,则该命令将检查数组中所有对象的完全匹配。 如果未指定,默认值为“false”。

返回类型

返回一个布尔值。

示例

以下示例演示了如何使用 ARRAY_CONTAINS 检查数组中的成员身份。

SELECT   
   ARRAY_CONTAINS(["apples", "strawberries", "bananas"], "apples") AS b1,  
   ARRAY_CONTAINS(["apples", "strawberries", "bananas"], "mangoes") AS b2  

下面是结果集。

[{"b1": true, "b2": false}]  

以下示例介绍了如何使用 ARRAY_CONTAINS 检查数组内是否存在 JSON 字符串的部分匹配字符串。

SELECT  
    ARRAY_CONTAINS([{"name": "apples", "fresh": true}, {"name": "strawberries", "fresh": true}], {"name": "apples"}, true) AS b1, 
    ARRAY_CONTAINS([{"name": "apples", "fresh": true}, {"name": "strawberries", "fresh": true}], {"name": "apples"}) AS b2,
    ARRAY_CONTAINS([{"name": "apples", "fresh": true}, {"name": "strawberries", "fresh": true}], {"name": "mangoes"}, true) AS b3 

下面是结果集。

[{
  "b1": true,
  "b2": false,
  "b3": false
}]

备注

此系统函数将从范围索引中获益。

后续步骤