クエリ言語には、クエリ言語に組み込まれており、さまざまな一般的なタスクを処理するように設計された一連のシステム関数が含まれています。
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 つのベクトル間の類似性スコアを返します。 |