このトピックでは、SPLステートメントでサポートされるSQL関数について説明します。
数学関数
関数 | 構文 | 説明 |
abs( x) | xの絶対値を計算します。 | |
acos( x) | xのアークコサインを計算します。 | |
asin( x) | xのアークサインを計算します。 | |
atan( x) | xのアークタンジェントを計算します。 | |
atan2( x, y) | xをyで割ったアークタンジェントを計算します。 | |
cbrt( x) | xの立方根を計算します。 | |
ceil( x) | xを最も近い整数まで丸めます。 この関数は、天井関数のエイリアスです。 | |
天井 (x) | xを最も近い整数まで丸めます。 | |
cos( x) | xのコサインを計算します。 | |
cosh( x) | xの双曲線余弦を計算します。 | |
度 (x) | ラジアン単位の角度を同等の度に変換します。 | |
e() | 自然対数の底であるeの値を返します。 | |
フロア (x) | xを最も近い整数まで丸めます。 | |
from_base( x, y) | xを基数yに変換します。 | |
ln( x) | xの自然対数を計算します。 | |
infinity() | 正の無限を表す値を返します。 | |
is_nan( x) | xが非数値 (NaN) かどうかを判断します。 | |
log2( x) | xの底2の対数を計算します。 | |
log10( x) | xの10を底とする対数を計算します。 | |
mod( x, y) | xをyで割った余りを計算します。 | |
nan() | NaNの値を返します。 | |
pi() | π の値を小数点以下15桁まで返します。 | |
pow( x、y) | xをyのべき乗に上げます。 この関数は、power関数のエイリアスです。 | |
パワー (x、y) | xをyのべき乗に上げます。 | |
ラジアン (x) | 度単位の角度をラジアン単位の角度に変換します。 | |
rand() | 乱数を返します。 | |
random() | 範囲 [0,1) の乱数を返します。 | |
ランダム (x) | [0,x) の範囲の乱数を返します。 | |
ラウンド (x) | xを最も近い整数に丸めます。 | |
ラウンド (x, n) | xを小数点以下n桁の小数点以下の小数点以下に丸めます。 | |
sin( x) | xの正弦を計算します。 | |
sqrt( x) | xの平方根を計算します。 | |
tan( x) | xの正接を計算します。 | |
tanh( x) | xの双曲正接を計算します。 | |
truncate( x) | xの小数部分を削除します。 |
文字列関数
関数 | 構文 | 説明 |
chr( x) | ASCIIコードを文字に変換します。 | |
コードポイント (x) | 文字をASCIIコードに変換します。 | |
concat( x、y ...) | 複数の文字列を1つの文字列に連結します。 | |
from_utf8( x) | バイナリ文字列をUTF-8エンコード文字列にデコードします。 無効なUTF-8文字は、デフォルトの置換文字U + FFFDに置換される。 | |
from_utf8( x, replace_string) | バイナリ文字列をUTF-8エンコード文字列にデコードします。 無効なUTF-8文字はカスタム文字列に置き換えられます。 | |
長さ (x) | 文字列の長さを返します。 | |
下 (x) | 文字列の文字を小文字に変換します。 | |
lpad( x、length、lpad_string) | Leftは、指定した文字を使用して文字列を指定した長さにパディングし、結果の文字列を返します。 | |
ltrim( x) | 文字列の先頭からスペースを削除します。 | |
replace( x, sub_string) | 文字列から一致した文字を削除します。 | |
replace( x, sub_string, replace_string) | 文字列内の一致した文字を指定した文字に置き換えます。 | |
リバース (x) | 逆の順序で文字列を返します。 | |
rpad( x、length、rpad_string) | 右は、指定した文字を使用して文字列を指定した長さにパディングし、結果の文字列を返します。 | |
rtrim( x) | 文字列の末尾からスペースを削除します。 | |
split_part( x, delimeter, part) | 指定された区切り文字を使用して文字列を分割し、指定された位置の部分文字列を返します。 | |
strpos( x, sub_string) | 文字列内の指定された部分文字列の位置を返します。 この関数は、position (xのsub_string) 関数に相当します。 | |
substr( x, start) | 文字列内の指定された位置の部分文字列を返します。 | |
substr( x、start、length) | 文字列内の指定された位置の部分文字列を返します。 部分文字列の長さが指定されます。 | |
to_utf8( x) | 文字列をUTF-8エンコードされた文字列に変換します。 | |
トリム (x) | 文字列の先頭と末尾からスペースを削除します。 | |
アッパー (x) | 文字列の文字を大文字に変換します。 |
日付と時刻関数
カテゴリ | 関数 | 構文 | 説明 |
日付と時間の関数 | date_format( x, format) | timestamp値を返すdatetime式を、指定した形式のdatetime式に変換します。 | |
date_parse( x, format) | datetime文字列を、タイムスタンプ値を返す指定された形式のdatetime式に変換します。 | ||
from_unixtime( x) | UNIX timestampを、timestamp値を返し、タイムゾーンを含まないdatetime式に変換します。 | ||
to_unixtime( x) | timestamp値を返すdatetime式をUNIX timestampに変換します。 | ||
日時抽出関数 | day_of_week( x) | datetime式から曜日を返します。 この関数はdow関数に相当します。 | |
day_of_year( x) | datetime式から年の日付を返します。 この関数はdoy関数に相当します。 | ||
ダウ (x) | datetime式から曜日を返します。 この関数はday_of_week関数と同じです。 | ||
doy( x) | datetime式から年の日付を返します。 この関数はday_of_year関数に相当します。 | ||
時間 (x) | datetime式からその日の時間を返します。 24時間時計が使用されます。 | ||
分 (x) | datetime式から時間の分を返します。 | ||
月 (x) | datetime式から年の月を返します。 | ||
四半期 (x) | 指定された日付が属する年の四半期を返します。 | ||
秒 (x) | datetime式から分の秒を返します。 | ||
年 (x) | 指定した日付の年を返します。 | ||
year_of_week( x) | 指定された日付がISO週日付システムに該当する年を返します。 この関数はyow関数に相当します。 | ||
yow( x) | 指定された日付がISO週日付システムに該当する年を返します。 この関数は、year_of_week関数と同等です。 | ||
時間間隔関数 | date_add( unit, N, x) | 指定した単位に基づいて、xフィールドの値にNを追加します。 | |
date_diff( unit, x, y) | 2つの時間式の差を返します。 たとえば、指定した時間単位に基づいてxとyの差を計算できます。 |
正規表現関数
関数 | 構文 | 説明 |
regexp_extract( x、正規表現) | 指定された正規表現と一致する最初の部分文字列を指定された文字列から抽出し、部分文字列を返します。 | |
regexp_extract( x、正規表現、n) | 指定された正規表現に一致する部分文字列を指定された文字列から抽出し、正規表現のn番目のキャプチャグループに一致する最初の部分文字列を返します。 | |
regexp_like( x、正規表現) | 指定された文字列が指定された正規表現と一致するかどうかをチェックします。 | |
regexp_replace( x、正規表現) | 指定された正規表現に一致する部分文字列を指定された文字列から削除し、残っている部分文字列を返します。 | |
regexp_replace( x、正規表現、置換文字列) | 指定された文字列の指定された正規表現に一致する部分文字列を置き換え、結果文字列を返します。 |
JSON 関数
関数 | 構文 | 説明 |
json_array_contains( x、value) | JSON配列に指定された値が含まれているかどうかを確認します。 | |
json_array_get( x, index) | JSON配列のインデックスに対応する要素を取得します。 | |
json_array_length( x) | JSON配列の要素数を取得します。 | |
json_extract( x, json_path) | JSONオブジェクトまたはJSON配列からJSON値のセットを取得します。 JSON値は、配列またはオブジェクト型にすることができます。 | |
json_extract_scalar( x, json_path) | JSONオブジェクトまたはJSON配列からスカラー値のセットを取得します。 スカラー値は、文字列、整数、またはブール型にすることができます。 この関数はjson_extract関数に似ています。 | |
json_format( x) | JSONデータを文字列に変換します。 | |
json_parse( x) | 文字列をJSONデータに変換します。 | |
json_size( x, json_path) | JSONオブジェクトまたはJSON配列の要素数を取得します。 |
データ型変換関数
関数 | 構文 | 説明 |
キャスト (タイプとしてx) | xフィールドの値をデータ型として変換します。 キャスト関数が値の変換に失敗した場合、この関数を呼び出すクエリは終了します。 |
URL 関数
関数 | 構文 | 説明 |
url_encode( x) | URL をエンコードします。 | |
url_decode( x) | URL をデコードします。 | |
url_extract_fragment( x) | URLからフラグメントを抽出します。 | |
url_extract_host( x) | URLからホストを抽出します。 | |
url_extract_parameter( x、パラメータ名) | URLからクエリ文字列の指定されたパラメーターの値を抽出します。 | |
url_extract_path( x) | URLからパスを抽出します。 | |
url_extract_port( x) | URLからポート番号を抽出します。 | |
url_extract_protocol( x) | URLからプロトコルを抽出します。 | |
url_extract_query( x) | URLからクエリ文字列を抽出します。 |
バイナリ関数
関数 | 構文 | 説明 |
from_base64( x) | Base64-encoded文字列を2進数にデコードします。 | |
from_hex( x) | 16進数を2進数に変換します。 | |
md5( x) | 2進数のMD5ハッシュ値を計算します。 | |
to_base64( x) | バイナリ数値をBase64文字列表現にエンコードします。 | |
to_hex( x) | 2進数を16進数に変換します。 | |
sha1( x) | 2進数のSHA-1ハッシュ値を計算します。 | |
sha256( x) | バイナリ数のSHA-256ハッシュ値を計算します。 | |
sha512( x) | バイナリ数のSHA-512ハッシュ値を計算します。 | |
xxhash64( x) | 2進数のxxhash64ハッシュ値を計算します。 |
ビットごとの関数
関数 | 構文 | 説明 |
bit_count( x, bits) | バイナリ表現でxのビット数1を返します。 | |
bitwise_and( x, y) | バイナリ表現のxとyに対するビット単位のAND演算の結果を返します。 | |
bitwise_not( x) | xに対するビット単位のNOT演算の結果をバイナリ表現で返します。 | |
bitwise_or( x, y) | xとyのビット単位のOR演算の結果をバイナリ表現で返します。 | |
bitwise_xor( x, y) | xとyのビット単位のXOR演算の結果をバイナリ表現で返します。 |
比較演算子
演算子 | 構文 | 説明 |
x < y | xがyより小さい場合、trueが返されます。 | |
x > y | xがyより大きい場合、trueが返されます。 | |
x <= y | xがy以下の場合、trueが返されます。 | |
x >= y | xがy以上の場合、trueが返されます。 | |
x=y | xがyに等しい場合、trueが返されます。 | |
x <> y | xがyと等しくない場合、trueが返されます。 | |
x! =y | xがyと等しくない場合、trueが返されます。 | |
x yとzの間 | xがyとzの間にある場合、trueが返されます。 | |
x LIKEパターン [エスケープ 'escape_character '] | 文字列が指定されたパターンと一致するかどうかをチェックします。 文字列は大文字と小文字を区別します。 |
論理演算子
演算子 | 構文 | 説明 |
xとy | xとyがtrueに評価された場合、trueが返されます。 | |
xまたはy | xまたはyがtrueに評価された場合、trueが返されます。 | |
xではない | xがfalseと評価された場合、trueが返されます。 |
条件式
式 | 構文 | 説明 |
condition1がresult1の場合 [condition2がresult2のとき] [ELSE result3] END | 条件を使用してデータを分類します。 | |
IF( condition, result1) | conditionがtrueに評価された場合、result1が返されます。 それ以外の場合は、nullが返されます。 | |
COALESCE( expression1, expression2, expression3 ...) | 複数の式で最初のnull以外の値を返します。 | |
TRY(expression) | 式を評価してエラーをキャプチャします。 これにより、システムはデータのクエリと分析を継続できます。 |