次の方法で共有


関数 - Cosmos DB のクエリ言語 (Azure と Fabric)

クエリ言語には、クエリ言語に組み込まれており、さまざまな一般的なタスクを処理するように設計された一連のシステム関数が含まれています。

Functions

クエリ言語で現在サポートされている関数の一覧を次に示します。

算術関数

Description
ABS ABS関数は、指定した数値式の絶対 (正) の値を計算します。
ACOS ACOS関数は、指定した数値の三角関数アークコサインを計算します。 アークコサインは、指定された数値式であるコサインを持つ角度 (ラジアン単位) です。
ASIN ASIN関数は、指定した数値の三角関数のアークサインを計算します。 アークサインは、指定された数値式をサインとする角度 (ラジアン単位) です。
ATAN ATAN関数は、指定した数値の三角アークタンジェントを計算します。 アークタンジェントは、指定した数値式を正接とする角度 (ラジアン単位) です。
ATN2 ATN2関数は、ラジアンで表されるy/xのアークタンジェントの主な値を計算します。
CEILING CEILING関数は、指定した数値式以上の最小整数値を計算します。
COS COS関数は、指定した角度の三角コサインをラジアンで計算します。
COT COT関数は、指定した角度の三角余接をラジアンで計算します。
DEGREES DEGREES関数は、ラジアンで指定された角度に対応する角度を度単位で計算します。
EXP EXP関数は、指定された数値式の指数値を計算します。
FLOOR FLOOR関数は、指定した数値式以下の最大整数を計算します。
INTADD INTADD関数は、2 つの整数値の合計を返します。
INTBITAND INTBITAND関数は、包括的な AND 演算子を使用して、各オペランドのビットの比較を返します。
INTBITLEFTSHIFT INTBITLEFTSHIFT関数は、整数値に対するビットごとの左シフト演算の結果を返します。
INTBITNOT INTBITNOT関数は、整数値に対するビットごとの NOT 演算の結果を返します。
INTBITOR INTBITOR関数は、2 つの整数値に対するビットごとの包括 OR 演算の結果を返します。
INTBITRIGHTSHIFT INTBITRIGHTSHIFT関数は、整数値に対するビットごとの右シフト演算の結果を返します。
INTBITXOR INTBITXOR関数は、2 つの整数値に対するビットごとの排他的 OR 演算の結果を返します。
INTDIV INTDIV関数は、最初の整数値を 2 番目の整数値で除算した結果を返します。
INTMOD INTMOD関数は、最初の整数値を 2 番目の整数値で除算した剰余を返します。
INTMUL INTMUL関数は、2 つの整数値の積を返します。
INTSUB INTSUB関数は、最初の整数値から 2 番目の整数値を減算した結果を返します。
LOG LOG関数は、指定した数値式の自然対数を返します。
LOG10 LOG10関数は、指定した数値式の底 10 の対数を返します。
NUMBERBIN NUMBERBIN関数は、指定したサイズの倍数に丸められた入力値を計算します。
PI PI関数は Pi の定数値を返します。
POWER POWER関数は、指定された式の値を、指定された回数だけそれ自体で倍数で返します。
RADIANS RADIANS関数は、角度で指定された角度に対応する角度をラジアンで返します。
RAND RAND関数は、ランダムに生成された 0 から 1 の数値を返します。
ROUND ROUND関数は、最も近い整数値に丸められた数値を返します。
SIGN SIGN関数は、指定した数値式の正の (+1)、ゼロ (0)、または負の (-1) 符号を返します。
SIN SIN関数は、指定した角度の三角正弦をラジアンで返します。
SQRT SQRT関数は、指定した数値の平方根を返します。
SQUARE SQUARE関数は、指定した数値の 2 乗を返します。
TAN TAN関数は、指定した角度の三角正接をラジアン単位で返します。
TRUNC TRUNC関数は、最も近い整数値に切り捨てられた数値を返します。

配列関数

Description
ARRAY_CONCAT ARRAY_CONCAT関数は、2 つ以上の配列値を連結した結果である配列を返します。
ARRAY_CONTAINS_ALL ARRAY_CONTAINS_ALL関数は、配列に指定されたすべての値が含まれているかどうかを示すブール値を返します。
ARRAY_CONTAINS_ANY ARRAY_CONTAINS_ANY関数は、配列に指定された値のいずれかが含まれているかどうかを示すブール値を返します。
ARRAY_CONTAINS ARRAY_CONTAINS関数は、配列に指定した値が含まれているかどうかを示すブール値を返します。 関数内のブール式を使用して、オブジェクトの部分的または完全な一致を確認できます。
ARRAY_LENGTH ARRAY_LENGTH関数は、指定した配列式の要素数を返します。
ARRAY_SLICE ARRAY_SLICE関数は、指定されたインデックスと長さを使用して配列式のサブセットを返します。
CHOOSE CHOOSE関数は、リストの指定したインデックス位置にある式を返します。インデックスがリストの境界を超えた場合は Undefined を返します。
OBJECTTOARRAY OBJECTTOARRAY関数は、JSON オブジェクト内のフィールドと値のペアを JSON 配列に変換します。
SETINTERSECT SETINTERSECT関数は、重複のない両方の入力配列に含まれる式のセットを返します。
SETUNION SETUNION関数は、重複のない 2 つの収集されたセットのすべての式を含む式のセットを返します。

集計関数

Description
AVG AVG関数は、式内の値の平均を計算します。
COUNT COUNT関数は、式内の値の数を返します。
MAX MAX関数は、指定した式の最大値を返します。
MIN MIN関数は、指定した式の最小値を返します。
SUM SUM関数は、式内の値の合計を計算します。

文字列関数

Description
CONCAT CONCAT関数は、ドキュメントから複数のフィールドを連結した結果である文字列を返します。
CONTAINS CONTAINS関数は、最初の文字列式に 2 番目の文字列式が含まれているかどうかを示すブール値を返します。
ENDSWITH ENDSWITH関数は、文字列が指定したサフィックスで終わるかどうかを示すブール値を返します。 必要に応じて、比較で大文字と小文字を区別しないようにすることができます。
INDEX-OF INDEX_OF関数は、文字列の最初の出現位置のインデックスを返します。
LEFT LEFT関数は、指定した文字数までの文字列の左側の部分を返します。
LENGTH LENGTH関数は、指定した文字列式の文字数を返します。
LOWER LOWER関数は、大文字のデータを小文字に変換した後、文字列式を返します。
LTRIM LTRIM関数は、先頭の空白文字または指定された文字を削除した後、文字列式を返します。
REGEXMATCH REGEXMATCH関数は、指定された文字列が指定された正規表現と一致するかどうかを示すブール値を返します。 正規表現は、テキストのパターンを見つけるための簡潔で柔軟な表記法です。
REPLACE REPLACE関数は、指定した文字列のすべての出現箇所が置き換えられた文字列を返します。
REPLICATE REPLICATE関数は、特定の回数繰り返される文字列値を返します。
REVERSE REVERSE関数は、文字列値の逆の順序を返します。
RIGHT RIGHT関数は、指定した文字数までの文字列の右側の部分を返します。
RTRIM RTRIM関数は、末尾の空白文字または指定した文字を削除した後に文字列式を返します。
STARTSWITH STARTSWITH関数は、最初の文字列式が 2 番目の文字列式で始まるかどうかを示すブール値を返します。
STRINGEQUALS STRINGEQUALS関数は、最初の文字列式が 2 番目の文字列式と一致するかどうかを示すブール値を返します。
STRINGJOIN STRINGJOIN関数は、各要素間の指定された区切り記号を使用して、指定した配列の要素を連結する文字列を返します。
STRINGSPLIT STRINGSPLIT関数は、指定した区切り記号でソース文字列を区切って取得した部分文字列の配列を返します。
STRINGTOARRAY STRINGTOARRAY関数は、文字列式を配列に変換します。
STRINGTOBOOLEAN STRINGTOBOOLEAN関数は、文字列式をブール値に変換します。
SUBSTRING SUBSTRING関数は、指定した位置と指定した長さ、または文字列の末尾から始まる文字列式の一部を返します。
TOSTRING TOSTRING関数は、値の文字列表現を返します。
TRIM TRIM関数は、先頭と末尾の空白文字またはカスタム文字を削除した後、文字列式を返します。
UPPER UPPER関数は、小文字のデータを大文字に変換した後、文字列式を返します。

日付と時刻関数

Description
DATETIMEADD DATETIMEADD関数は、指定された日付と時刻の文字列に指定した数値を追加した結果である日付と時刻の文字列値を返します。
DATETIMEBIN DATETIMEBIN関数は、指定された日付と時刻の文字列の一部をビン分割 (または丸め) した結果である日付と時刻の文字列値を返します。
DATETIMEDIFF DATETIMEDIFF関数は、指定した日時部分の 2 つの日付と時刻の値の差を符号付き整数として返します。
DATETIMEFROMPARTS DATETIMEFROMPARTS関数は、さまざまな日付と時刻の部分の入力数値から構築された日付と時刻の文字列値を返します。
DATETIMEPART DATETIMEPART関数は、指定された日付と時刻の指定した日付と時刻の部分の値を返します。
DATETIMETOTICKS DATETIMETOTICKS関数は、指定した DateTime をティックに変換します。 1 つのティックは、100 ナノ秒または 0.0000001 秒を表します。
DATETIMETOTIMESTAMP DATETIMETOTIMESTAMP関数は、指定した日時を数値タイムスタンプに変換します。 タイムスタンプは、Unix エポック以降のミリ秒を測定する符号付き数値整数です。
GETCURRENTDATETIME GETCURRENTDATETIME関数は、現在の UTC (世界協定時刻) の日付と時刻を ISO 8601 文字列として返します。
GETCURRENTDATETIMESTATIC GETCURRENTDATETIMESTATIC関数は、クエリ内のすべての項目について、ISO 8601 文字列として同じ UTC 日付と時刻の値を返します。 これは、クエリ結果間で一貫性のあるタイムスタンプを得る場合に便利です。
GETCURRENTTICKS GETCURRENTTICKS関数は、現在の UTC 時刻を、0001-01-01T00:00:00.0000000Z 以降に経過した 100 ナノ秒間隔 (ティック) の数として返します。
GETCURRENTTICKSSTATIC GETCURRENTTICKSSTATIC関数は、同じパーティション内のすべての項目に対して静的ナノ秒ティック値 (Unix エポックから 100 ナノ秒間隔) を返します。
GETCURRENTTIMESTAMP GETCURRENTTIMESTAMP関数は、Unix エポック以降の現在のタイムスタンプをミリ秒単位で返します。
GETCURRENTTIMESTAMPSTATIC GETCURRENTTIMESTAMPSTATIC関数は、同じパーティション内のすべての項目の静的タイムスタンプ値 (Unix エポック以降のミリ秒) を返します。
TICKSTODATETIME TICKSTODATETIME関数は、指定されたティック数を日付と時刻の値に変換します。
TIMESTAMPTODATETIME TIMESTAMPTODATETIME関数は、指定したタイムスタンプを日付と時刻の値に変換します。

項目の機能

Description
DOCUMENTID DOCUMENTID関数は、コンテナー内の特定の項目の一意のドキュメント ID を返します。

フルテキスト検索機能

Description
FULLTEXTCONTAINS FULLTEXTCONTAINS関数は、キーワード文字列式が指定されたプロパティ パスに含まれているかどうかを示すブール値を返します。
FULLTEXTCONTAINSALL FULLTEXTCONTAINSALL関数は、指定されたすべての文字列式が指定されたプロパティ パスに含まれているかどうかを示すブール値を返します。
FULLTEXTCONTAINSANY FULLTEXTCONTAINSANY関数は、指定された文字列式のいずれかが指定されたプロパティ パスに含まれているかどうかを示すブール値を返します。
FULLTEXTSCORE FULLTEXTSCORE関数は BM25 スコア値を返します。BM25 スコア値は、指定された用語の関連性が最も高いものから最も関連性が低いものまで結果を並べ替えるために、ORDER BY RANK句でのみ使用できます。
RRF RRF関数は、他の関数によって提供される 2 つ以上のスコアを組み合わせることによって、融合されたスコアを返します。

条件付き関数

Description
IIF IIF関数は、ブール式が true と false のどちらに評価されるかに応じて、2 つの値のいずれかを返します。

型チェック関数

Description
IS_ARRAY IS_ARRAY関数は、指定した式の型が配列であるかどうかを示すブール値を返します。
IS_BOOL IS_BOOL関数は、指定した式の型がブール値かどうかを示すブール値を返します。
IS_DEFINED IS_DEFINED関数は、プロパティに値が割り当てられているかどうかを示すブール値を返します。
IS_FINITE_NUMBER IS_FINITE_NUMBER関数は、数値が有限の数値 (無限ではない) かどうかを示すブール値を返します。
IS_INTEGER IS_INTEGER関数は、数値が 64 ビット符号付き整数かどうかを示すブール値を返します。 64 ビット符号付き整数の範囲は、 -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807までです。 詳細については、「 __int64」を参照してください。
IS_NULL IS_NULL関数は、指定した式の型がnullされているかどうかを示すブール値を返します。
IS_NUMBER IS_NUMBER関数は、指定した式の型が数値かどうかを示すブール値を返します。
IS_OBJECT IS_OBJECT関数は、指定した式の型が JSON オブジェクトであるかどうかを示すブール値を返します。
IS_PRIMITIVE IS_PRIMITIVE関数は、指定された式の型がプリミティブ (文字列、ブール値、数値、または null) であるかどうかを示すブール値を返します。
IS_STRING IS_STRING関数は、指定した式の型が文字列かどうかを示すブール値を返します。
STRINGTONULL STRINGTONULL関数は、文字列式をnullに変換します。
STRINGTONUMBER STRINGTONUMBER関数は、文字列式を数値に変換します。
STRINGTOOBJECT STRINGTOOBJECT関数は、文字列式をオブジェクトに変換します。

空間関数

Description
ST_AREA ST_AREA関数は、GeoJSON Polygon または MultiPolygon 式の合計領域を返します。
ST_DISTANCE ST_DISTANCE関数は、2 つの GeoJSON ポイント、Polygon、MultiPolygon、または LineString 式間の距離を返します。
ST_INTERSECTS ST_INTERSECTS関数は、最初の引数で指定された GeoJSON オブジェクトが 2 番目の引数の GeoJSON オブジェクトと交差するかどうかを示すブール値を返します。
ST_ISVALID ST_ISVALID関数は、指定した GeoJSON Point、Polygon、MultiPolygon、または LineString 式が有効かどうかを示すブール値を返します。
ST_ISVALIDDETAILED ST_ISVALIDDETAILED関数は、指定した GeoJSON Point、Polygon、または LineString 式が有効で、無効な場合は、その理由を示すブール値を含む JSON 値を返します。
ST_WITHIN ST_WITHIN関数は、最初の引数で指定された GeoJSON オブジェクトが 2 番目の引数の GeoJSON オブジェクト内にあるかどうかを示すブール式を返します。
VECTORDISTANCE VECTORDISTANCE関数は、指定された 2 つのベクトル間の類似性スコアを返します。