すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:サポートされている関数

最終更新日:Jul 08, 2025

このトピックでは、Realtime Compute for Apache Flink でサポートされているすべてのビルトイン関数について説明します。

サポートされている関数

Ververica Runtime(VVR) 3.0.0 を使用する Realtime Compute for Apache Flink では、Apache Flink バージョン 1.12 に基づいて追加のビルトイン関数がサポートされています。詳細については、「スカラー関数」、「テーブル値関数」、および「集約関数」をご参照ください。次の表に、Apache Flink 1.15 に基づいて Realtime Compute for Apache Flink でサポートされているすべてのビルトイン関数を示します。

サポートされている関数は、Apache Flink のバージョンによって異なる場合があります。詳細については、「Flink V1.12 ビルトイン関数」、「Flink V1.13 ビルトイン関数」、「Flink V1.14 ビルトイン関数」、「Flink V1.15 ビルトイン関数」、「Flink V1.16 ビルトイン関数」、および「Flink V1.17 ビルトイン関数」をご参照ください。

説明

ビルトイン関数がニーズを満たしていない場合は、ユーザー定義関数(UDF)を使用できます。詳細については、「概要」をご参照ください。

使用上の注意

VVR 11.1 以降、Table API クエリでビルトイン関数がサポートされています。

スカラー関数

カテゴリ

関数

説明

比較関数

value1 = value2

value1 が value2 と等しい場合、true を返します。

value1 <> value2

value1 が value2 と等しくない場合、true を返します。

value1 > value2

value1 が value2 より大きい場合、true を返します。

value1 >= value2

value1 が value2 以上の場合、true を返します。

value1 < value2

value1 が value2 より小さい場合、true を返します。

value1 <= value2

value1 が value2 以下の場合、true を返します。

値 IS NULL

値が NULL の場合、true を返します。

値が NULL でない

値が NULL でない場合は true を返します。

value1 IS DISTINCT FROM value2

value1 と value2 のデータ型または値が異なる場合は true を返します。すべての NULL 値は等しいと見なされます。

value1 IS NOT DISTINCT FROM value2

value1 と value2 のデータ型と値が同じ場合、true を返します。すべての NULL 値は等しいと見なされます。

value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

デフォルトで、または ASYMMETRIC キーワードが使用されている場合、次の条件が満たされると true を返します。value1 が value2 以上で、かつ value3 以下である。

value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

デフォルトで、または ASYMMETRIC キーワードが使用されている場合、次の条件が満たされると true を返します。value1 が value2 より小さいか、value3 より大きい。

string1 LIKE string2 [ ESCAPE char ]

string1 が string2 と一致する場合、true を返します。

string1 NOT LIKE string2 [ ESCAPE char ]

string1 が string2 と一致しない場合、true を返します。

string1 SIMILAR TO string2 [ ESCAPE char ]

string1 が SQL 正規表現 string2 と一致する場合、true を返します。

string1 NOT SIMILAR TO string2 [ ESCAPE char ]

string1 が SQL 正規表現 string2 と一致しない場合、true を返します。

value1 IN (value2 [, value3]* )

value1 が値のリスト (value2、value3、…) に存在する場合、true を返します。

value1 が (value2 [, value3]* ) のリストに含まれていない場合、true を返します。

value1 が値のリスト (value2、value3、…) に存在しない場合、true を返します。

EXISTS (サブクエリ)

サブクエリに対して少なくとも 1 行のデータが返された場合は、true を返します。

値 IN (サブクエリ)

値がサブクエリの結果セットの 1 行のデータと等しい場合、true を返します。

値 が サブクエリ の結果に含まれていない

サブクエリによって返されるデータ行に値が含まれていない場合は、true を返します。

論理関数

BITAND

ビット単位の AND 演算を実行します。

BITNOT

ビット単位の NOT 演算を実行します。

BITOR

ビット単位の OR 演算を実行します。

BITXOR

ビット単位の XOR 演算を実行します。

boolean1 OR boolean2

boolean1 または boolean2 が true の場合、true を返します。

boolean1 AND boolean2

boolean1 と boolean2 が true の場合、true を返します。

NOT boolean

boolean が false の場合は true を返します。 boolean が true の場合は false を返します。 boolean が不明な場合は不明を返します。

boolean IS FALSE

boolean が false の場合は true を返します。 boolean が true または不明な場合は false を返します。

boolean IS NOT FALSE

boolean が true または不明の場合は true を返します。 boolean が false の場合は false を返します。

boolean IS TRUE

boolean が true の場合は true を返します。 boolean が false または不明な場合は false を返します。

boolean IS NOT TRUE

boolean が false または不明の場合は true を返します。 boolean が true の場合は false を返します。

boolean IS UNKNOWN

boolean が不明な場合は true を返します。 boolean が true または false の場合は false を返します。

boolean IS NOT UNKNOWN

boolean が true または false の場合、true を返します。 boolean が不明な場合は、false を返します。

算術関数

+ 数値

数値を返します。

- 数値

数値の反対の値を返します。

numeric1 + numeric2

numeric1 と numeric2 の合計を返します。

numeric1 - numeric2

numeric1 と numeric2 の差を返します。

numeric1 * numberic2

numeric1 に numeric2 を乗算した結果を返します。

numeric1 / numeric2

numeric1 を numeric2 で除算した商を返します。

numeric1 % numeric2

numeric1 を numeric2 で除算した剰余を返します。

POWER(numeric1, numeric2)

numeric1 の numeric2 乗の値を返します。

ABS(numeric)

数値の絶対値を返します。

SQRT(numeric)

数値の平方根を返します。

LN(numeric)

数値の自然対数を底 e で返します。

LOG10(数値)

数値の底を 10 とする自然対数を返します。

LOG2(numeric)

数値の底が 2 の自然対数を返します。

LOG(numeric2) LOG(numeric1, numeric2)

入力パラメーターが 1 つ呼び出された場合は、numeric2 の自然対数を返します。入力パラメーターが 2 つ呼び出された場合は、numeric1 を底とする numeric2 の対数を返します。 numeric2 の値は 0 より大きく、numeric1 の値は 1 より大きい必要があります。

EXP(numeric)

e の numeric 乗を返します。

CEIL(numeric) CEILING(numeric)

数値を切り上げて、numeric 以上の最小の整数を返します。

FLOOR(numeric)

数値を切り下げ、 numeric 以下の最大の整数を返します。

SIN(numeric)

数値の正弦を返します。

SINH(numeric)

数値のハイパボリックサインを返します。戻り値のデータ型は DOUBLE です。

COS(numeric)

数値の余弦を返します。

TAN(numeric)

数値のタンジェント値を返します。

TANH(numeric)

数値の双曲線正接値を返します。戻り値は DOUBLE データ型です。

COT(numeric)

数値の余接を返します。

ASIN(numeric)

数値の逆正弦を返します。

ACOS(numeric)

数値の逆余弦を返します。

ATAN(numeric)

数値の逆正接を返します。

ATAN2(numeric1, numeric2)

座標 (numeric1, numeric2) の逆正接を返します。

COSH(numeric)

数値の双曲線余弦を返します。戻り値のデータ型は DOUBLE です。

DEGREES(numeric)

ラジアン numeric の角度を返します。

RADIANS(numeric)

数値の弧度を返します。

SIGN(numeric)

数値の符号を返します。

ROUND(numeric, INT)

数値を INT 小数点以下に四捨五入した値を返します。

PI()

円周率に非常に近い値を返します。

E()

e に非常に近い値を返します。

RAND()

[0.0, 1.0) の範囲の擬似乱数倍精度値を返します。

RAND(INT)

INT を初期シード値として、[0.0, 1.0) の範囲の擬似乱数倍精度値を返します。

RAND_INTEGER(INT)

[0, INT) の範囲の擬似乱整数を返します。

RAND_INTEGER(INT1, INT2)

INT1 を初期シードとして、[0, INT2) の範囲の擬似乱整数を返します。

UUID()

RFC 4122 タイプ 4 に基づく汎用一意識別子(UUID)文字列を返します。 UUID 文字列は擬似乱数で生成されます。

BIN(INT)

INTEGER データ型の文字列をバイナリ形式で返します。

HEX(numeric) HEX(string)

整数型の NUMERIC 値、または16進数フォーマットの文字列を返します。

TRUNCATE(numeric1, integer2)

integer2 で指定された小数点以下の桁数に切り捨てられた数値を返します。

PERCENTILE(expr, percentage[, frequency])

指定されたパーセンテージにおける expr の正確なパーセンタイル値を返します。

文字列関数

string1 || string2

string1 と string2 を連結したものを返します。

CHAR_LENGTH(string) CHARACTER_LENGTH(string)

文字列の文字数を返します。

UPPER(string)

文字列を大文字で返します。

LOWER(string)

小文字の文字列を返します。

POSITION(string1 IN string2)

string2 内の string1 の最初の出現位置を返します。位置は 1 から始まります。 string1 が string2 内に存在しない場合は 0 を返します。

TRIM( [ BOTH | LEADING | TRAILING ] string1 FROM string2)

string2 から、string1 で開始、終了、または開始と終了する文字列を削除し、結果を返します。

この関数は、TRAILING パラメーターにない文字が存在するまで、文字列の末尾にあるすべての文字を削除します。たとえば、TRIM(TRAILING 'fe' from 'abcdef') は abcd を返します。

LTRIM(string)

文字列の左側のスペースを削除します。

RTRIM(string)

文字列の右側のスペースを削除します。

REPEAT(string, int)

指定された文字列を int で指定された回数だけ繰り返す文字列を返します。

REGEXP_REPLACE

詳細については、「WordPress REST API」をご参照ください。

OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ])

string1 内の integer1 で指定された位置から、合計 integer2 文字を string2 に置き換え、新しい文字列を返します。デフォルトでは、integer2 は string2 の長さを示します。

SUBSTRING( 文字列 FROM 整数1 [FOR 整数2 ])

文字列内の integer1 で指定された位置から始まり、integer2 で指定された長さの部分文字列を返します。デフォルトでは、integer2 は integer1 の位置から文字列の末尾までの長さを指定します。

REPLACE(string1, string2, string3)

string1 内の string2 のすべての出現箇所を string3 に置き換え、新しい文字列を返します。 string2 と string3 は重複しません。

REGEXP_EXTRACT(string1, string2[,integer])

string2 で指定された正規表現に基づいて string1 を分割し、integer で指定された位置にある文字列を返します。

INITCAP(string)

文字列を指定されたフォーマットの文字列に変換します。このフォーマットでは、各単語の最初の文字は大文字で、各単語の残りの文字は小文字です。文字列内の各単語は、英数字のシーケンスを表します。

CONCAT(string1, string2, ...)

複数の文字列を連結し、新しい文字列を返します。入力パラメーターが NULL に設定されている場合、NULL が返されます。

CONCAT_WS(string1, string2, string3, ...)

string1 で指定されたセパレータを使用して、string2、string3… を連結した文字列を返します。

LPAD(string1, integer, string2)

string1 の左側に string2 を integer で指定された長さになるまで埋め込みます。

RPAD(string1, integer, string2)

string1 の右側を、integer で指定された長さになるまで string2 で埋めます。

FROM_BASE64(string)

Base64 アルゴリズムを使用して string1 をデコードします。

TO_BASE64(string)

Base64 アルゴリズムを使用して string1 をエンコードします。

ASCII(文字列)

文字列の最初の文字の ASCII コードを返します。

CHR(integer)

整数で指定された値に相当するバイナリ値を持つ ASCII 文字を返します。

DECODE(バイナリ, 文字列)

US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16 などの指定されたエンコード形式で文字列をデコードします。

ENCODE(string1, string2)

指定されたエンコード形式(US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16など)で文字列をエンコードします。

INSTR(string1, string2)

string1 内で string2 が最初に現れる位置を返します。

LEFT(string, integer)

文字列の左端から integer で指定された文字数分の文字を返します。

RIGHT(string, integer)

文字列から integer で指定された長さの右端の文字を返します。

LOCATE(string1, string2[, integer])

integer で指定された位置より後にある、string2 内の string1 の最初の出現位置を返します。

PARSE_URL

URL の特定の部分を解析し、取得した値を返します。

REGEXP

正規表現を使用して指定された文字列を検索し、検索結果に基づいてブール値を返します。

REVERSE(string)

文字列を逆順で返します。

SPLIT_INDEX

指定されたデリミタに基づいて文字列を複数のセグメントに分割し、指定された位置にあるフィールドを返します。

STR_TO_MAP(string1[, string2, string3])

string1 をデリミタを使用してキーと値のペアに分割し、マップを返します。

SUBSTR(文字列[, integer1[, integer2]])

文字列内の integer1 で指定された位置から始まる部分文字列を返します。部分文字列の長さは integer2 で指定されます。

時間関数

DATE 文字列

yyyy-MM-dd フォーマットの文字列から解析された SQL の日付値を返します。

DATEDIFF

2 つの日付値の差を計算します。

DATE_ADD

指定された日数後の日付値を返します。

DATE_SUB

指定された日付より指定された日数だけ前の日付値を返します。

TIME 文字列

HH:mm:ss フォーマットの文字列から解析された SQL の時間値を返します。

TIMESTAMP 文字列

yyyy-MM-dd HH:mm:ss[.SSS] フォーマットの文字列から解析された SQL のタイムスタンプを返します。

INTERVAL 文字列 の 有効値

SQL において、ミリ秒単位のインターバルを dd hh:mm:ss.fff フォーマットの文字列から解析するか、または月単位のインターバルを yyyy-mm フォーマットの文字列から解析します。

LOCALTIME

ローカル タイムゾーンの SQL で現在の時刻を返します。戻り値の型は TIME(0) です。

LOCALTIMESTAMP

ローカル タイムゾーンの現在の時刻を SQL で返します。戻り値の型は TIMESTAMP(3) です。

CURRENT_TIME

ローカル タイムゾーンの SQL で現在の時刻を返します。この関数は LOCAL_TIME 関数と同じです。

CURRENT_DATE

ローカル タイムゾーンの SQL で現在の日付を返します。

CURRENT_TIMESTAMP

ローカル タイム ゾーンの SQL で現在のタイムスタンプを返します。

NOW()

ローカル タイム ゾーンの SQL で現在のタイムスタンプを返します。この関数は CURRENT_TIMESTAMP 関数と同じです。

CURRENT_ROW_TIMESTAMP()

ローカル タイム ゾーンの SQL で現在のタイムスタンプを返します。

EXTRACT(timeinteravlunit FROM temporal)

temporal の timeinteravlunit 部分から抽出された LONG データ型の値を返します。

YEAR(date)

SQL の日付値が含まれる年を返します。

QUARTER(date)

SQL の日付値が含まれる四半期を返します。

MONTH(date)

SQL の日付値が属する月を返します。

WEEK(date)

SQL の日付値が含まれる年の週のシーケンス番号を返します。

DAYOFYEAR(date)

SQL の日付値が含まれる年の通算日数を返します。

DAYOFMONTH

SQL の日付値が該当する月の何日目かを返します。

HOUR(timestamp)

SQL でタイムスタンプの時成分を返します。

MINUTE(timestamp)

SQL でタイムスタンプの分の構成要素を返します。

SECOND(timestamp)

SQL でタイムスタンプの秒コンポーネントを返します。

FLOOR(timepoint TO timeintervalunit)

timeintervalunit で指定された時間単位に切り捨てられた時点の値を返します。

CEIL (timespoint TO timeintervaluntit)

timeintervalunit で指定された時間単位に切り上げた時点の値を返します。

(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2)

(timepoint1, temporal1) と (timepoint2, temporal2) で定義された 2 つの時間間隔が重複する場合、true を返します。

DATE_FORMAT

STRING データ型の値を指定されたフォーマットに変換します。

DATE_FORMAT_TZ

TIMESTAMP データ型のデータを、指定されたタイムゾーンに基づいて指定されたフォーマットの文字列に変換します。

TIMESTAMPADD(timeintervalunit, interval, timepoint)

指定された時点に期間を追加することで、新しい時点を返します。この期間は、timeintervalunit に interval を乗じた値に相当します。

TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)

timepoint1 と timepoint2 の間の時間間隔を返します。

CONVERT_TZ(string1, string2, string3)

日時文字列 1 をタイムゾーン文字列 2 からタイムゾーン文字列 3 の値に変換します。日時文字列 1 は、デフォルトの ISO タイムスタンプ形式 yyyy-MM-dd HH:mm:ss です。

FROM_UNIXTIME

VARCHAR データ型の値を返します。

UNIX_TIMESTAMP

日付値を UNIX タイムスタンプに変換します。

TO_DATE

INT 型または VARCHAR 型の日付値を DATE 型に変換します。

TO_TIMESTAMP_LTZ(numeric, precision)

時間を TIMESTAMP_LTZ データ型の値に変換します。時間は UNIX タイムスタンプです。単位:ミリ秒または秒。

TO_TIMESTAMP(string1[, string2])

UTC+0 タイムゾーンの string2 のフォーマットの string1 をタイムスタンプに変換します。デフォルトでは、string2 で指定されたフォーマットは yyyy-MM-dd HH:mm:ss です。

TO_TIMESTAMP_TZ

VARCHAR データ型の値を、指定されたタイムゾーンに基づいて TIMESTAMP データ型に変換します。

CURRENT_WATERMARK(rowtime)

rowtime で指定された時間列プロパティの現在のウォーターマークを返します。

条件付き関数

CASE 値 WHEN 値1_1 [, 値1_2]* THEN 結果1 (WHEN 値2_1 [, 値2_2]* THEN 結果2)* (ELSE 結果Z) END

最初の時間値が値のリスト(valueX_1、valueX_2、…)に含まれている場合、resultX を返します。

CASE WHEN 条件1 THEN 結果1 (WHEN 条件2 THEN 結果2)* (ELSE 結果Z) END

最初の条件 X が満たされた場合、resultX を返します。

NULLIF(値1, 値2)

value1 が value2 と等しい場合は NULL を返します。 value1 が value2 と等しくない場合は value1 を返します。

COALESCE(value1, value2 [, value3]*)

value1、value2… から最初の NULL でない値を返します。

IF(条件, 真の値, 偽の値)

条件が満たされた場合は true_value を返します。条件が満たされない場合は false_value を返します。

IFNULL(input, null_replacement)

入力パラメーターが NULL の場合は、null_replacement を返します。 入力パラメーターが NULL でない場合は、入力パラメーターを返します。

IS_ALPHA(文字列)

文字列内のすべての文字が英字の場合、true を返します。文字列内のいずれかの文字が英字でない場合、false を返します。

IS_DECIMAL(string)

文字列が有効な数値に解析できる場合は true を返します。文字列が有効な数値に解析できない場合は false を返します。

IS_DIGIT(文字列)

注: このチュートリアルでは、基本的な例を示しています。より高度な使用方法については、公式ドキュメントを参照してください。

GREATEST(値 1 [, 値 2 ]*)

入力パラメーターの最大値を返します。入力パラメーターが NULL に設定されている場合は、NULL を返します。

LEAST(value1[, value2]*)

詳細については、「WordPress の移動」をご参照ください。

データ型変換関数

CONV

数値または文字に対して基本的な変換を実行します。

CAST(値 AS 型)

注: このチュートリアルでは、基本的な知識があることを前提としています。詳細については、「JavaScript のドキュメント」をご参照ください。

TYPEOF(input) | TYPEOF(input, force_serializable)

入力式のデータ型の文字列表現を返します。

コレクション関数

CARDINALITY(配列)

配列内の要素数を返します。

array '[' INT ']'

配列内の INT で指定された位置にある要素を返します。

ELEMENT(配列)

カーディナリティが 1 の配列の唯一の要素を返します。

CARDINALITY(マップ)

マップ内のエントリ数を返します。

map[' 値 ']'

マップ内の指定されたキーに対応する値を返します。

JSON 関数

IS JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ]

指定された文字列が有効な JSON 文字列かどうかを判断します。

JSON_EXISTS(jsonValue, パス [ { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ])

JSON 文字列が指定されたパス検索条件を満たしているかどうかを判断します。

JSON_STRING(値)

値を、シリアル化された値を含む JSON 文字列にシリアル化します。

JSON_VALUE

JSON 文字列から、指定されたパスの式を抽出します。

JSON_QUERY(jsonValue, パス [{ WITHOUT | WITH CONDITIONAL | WITH UNCONDITIONAL } [ ARRAY ] WRAPPER ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON EMPTY ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON ERROR ])

JSON 文字列から JSON 値を抽出します。

JSON_OBJECT([[キー] key 値 value]* [ { NULL | ABSENT } ON NULL ])

キーと値のペアのリストから JSON オブジェクトを生成します。

JSON_OBJECTAGG ([KEY] キー VALUE 値 [{ NULL | ABSENT } ON NULL ])

キーと値の式を JSON オブジェクトに集約します。

JSON_ARRAY ([値]* [{NULL | ABSENT} ON NULL])

値のリストから JSON 配列を生成します。

JSON_ARRAYAGG(items [ { NULL | ABSENT } ON NULL ])

アイテムを配列に集約することで JSON オブジェクトを生成します。

値構築関数

-- 丸かっこを使用した暗黙的なコンストラクター (value1 [, value2]*)

値のリスト (value1、value2、…) から作成されたデータの行を返します。

ARRAY '[' value1 [, value2 ]* ']'

値 (value1、value2、…) のリストから作成された配列を返します。

MAP '[' value1, value2 [, value3, value4 ]* ']'

キーと値のペア((値1, 値2), (値3, 値4), …)のリストから作成されたマップを返します。

値取得関数

tableName.compositeType.field

Tuple や POJO など、Flink の複合データ型のフィールドの値を名前で抽出します。

tableName.compositeType.*

Flink の複合データ型 (Tuple や POJO など) のサブタイプを個別のフィールドに変換します。

グループ化関数

GROUP_ID()

グループ化キーの組み合わせを一意に識別する整数を返します。

GROUPING(式1 [, 式2]* ) | GROUPING_ID(式1 [, 式2]* )

指定されたグループ化式のビットベクターを返します。

ハッシュ関数

MD5(文字列)

文字列の MD5 ハッシュ値を 32 桁の 16 進数の文字列形式で返します。

SHA1(文字列)

文字列の SHA-1 ハッシュ値を 40 桁の 16 進数の文字列形式で返します。

SHA224(文字列)

文字列の SHA-224 ハッシュ値を 56 桁の16進数の文字列形式で返します。

SHA256(string)

文字列の SHA-256 ハッシュ値を 64 桁の 16 進数の文字列形式で返します。

SHA384(string)

文字列の SHA-384 ハッシュ値を 96 桁の16進数の文字列形式で返します。

SHA512(string)

文字列の SHA-512 ハッシュ値を 128 桁の 16 進数の文字列形式で返します。

SHA2(文字列, ハッシュ長)

SHA-224、SHA-256、SHA-384、SHA-512 などのハッシュ関数を使用してハッシュ値を返します。

MURMUR_HASH

hash32x86 メソッドを使用して、パラメーターの 32 ビット ハッシュ値を指定します。

MURMUR_HASH_64

hash128x64 メソッドを使用して、パラメーターの 64 ビット ハッシュ値を指定します。

その他の関数

ISNAN

指定された浮動小数点数が NAN(非数)かどうかを確認します。この関数は、Java の Double.isNan() 関数または Float.isNan() 関数に似ています。

KEYVALUE

split1 で指定されたデリミタに基づいて文字列をキーと値のペアに分割し、split2 で指定されたデリミタに基づいてキーと値のペアを分割し、キーに対応する値を返します。

テーブル値関数

関数

説明

GENERATE_SERIES

from、from + 1、from + 2 ... to-1 のルールに基づいて、一連のパディングデータを生成します。

JSON_TUPLE

JSON 文字列から、各パス文字列で表される値を取得します。

MULTI_KEYVALUE

split1 で指定されたキーと値のペアのデリミタに基づいて文字列をキーと値のペアに分割し、split2 で指定されたデリミタに基づいてキーと値のペアを分割し、key_name1 と key_name2 の値を返します。

STRING_SPLIT

指定されたデリミタに基づいて文字列を部分文字列に分割し、部分文字列のリストを返します。

集計関数

関数

説明

COUNT([ ALL ] 式 | DISTINCT expression1 [, expression2]*)

デフォルトでは、または ALL キーワードが使用されている場合、NULL でない式の入力行数を返します。

COUNT(*) | COUNT(1)

入力行数を返します。

AVG([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の平均値を計算します。

SUM([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の合計を返します。

MAX([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の最大値を返します。

MIN([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の最小値を返します。

STDDEV_POP([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の母集団標準偏差を返します。

STDDEV_SAMP([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の標本標準偏差を返します。

VAR_POP([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の標本標準偏差を返します。

VAR_SAMP([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の式の標本分散を返します。

COLLECT([ ALL | DISTINCT ] expression)

デフォルトでは、または ALL キーワードが使用されている場合、すべての入力行の複数の式を返します。

VARIANCE([ ALL | DISTINCT ] expression)

この関数は VAR_SAMP() 関数と同じです。

RANK()

値のグループにおける値のランクを返します。

DENSE_RANK()

値のグループにおける値のランクを返します。結果は 1 と前に割り当てられたランク値の合計です。

ROW_NUMBER()

ウィンドウパーティションの行のシーケンスに基づいて、行のシーケンス番号を計算します。行番号は 1 から始まります。

LEAD(expression [, offset] [, default])

ウィンドウ内の現在の行に続くデータのオフセット行にある式の値を返します。

説明

デプロイメントがストリーミングモードの場合、LEAD 関数はサポートされていません。

LAG(expression [, offset] [, default])

ウィンドウ内の現在の行の前にあるデータのオフセット行にある式の値を返します。

LISTAGG(expression [, separator])

文字列式の値を連結し、デリミタで値を区切ります。

APPROX_COUNT_DISTINCT

デプロイメントのパフォーマンスを向上させます。

FIRST_VALUE

データストリームの最初の NULL でないレコードを返します。

LAST_VALUE

データストリームの最後の NULL でないレコードを返します。