ARRAY_CONTAINS (Azure Cosmos DB)

適用対象: SQL API

配列に指定された値が含まれているかどうかを示すブール値を返します。 コマンド内でブール式を使用して、オブジェクトの部分一致または完全一致を確認できます。

構文

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

引数

arr_expr
検索対象となる配列式です。

expr
検出される式です。

bool_expr
ブール式です。 'true' と評価されていて、指定された検索値がオブジェクトである場合、コマンドでは部分一致がチェックされます (検索オブジェクトは、いずれか 1 つのオブジェクトのサブセットです)。 '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
}]

解説

このシステム関数は、範囲インデックスの恩恵を受けます。

次のステップ