適用対象: Databricks SQL
Databricks Runtime
この記事では、文字列、バイナリ型、数値スカラー、集計、ウィンドウ、配列、マップ、日付とタイムスタンプ、キャスト、CSV データ、JSON データ、XPath 操作、その他多岐にわたる関数の、組み込み演算子と関数へのリンクと説明を紹介します。
既存の組み込み関数でサポートされていないユース ケースの場合は、カスタム関数を定義することを検討してください。 「ユーザー定義関数 (UDF) とは」を参照してください。
こちらもご覧ください。
演算子と述語
演算子が互いに対してどのように解析されるのかについては、「演算子の優先順位」を参照してください。
オペレーター | 構文 | 説明 |
---|---|---|
& | expr1 & expr2 |
AND と expr1 のビット単位の expr2 を返します。 |
、 | expr1 and expr2 |
AND と expr1 の論理 expr2 を返します。 |
* | multiplier * multiplicand |
multiplier に multiplicand を乗算したものを返します。 |
!= | expr1 != expr2 |
expr1 が expr2 と等しくない場合、true を返します。それ以外の場合、false を返します。 |
! | !expr |
ブール式の論理 NOT を返します。 |
間 | expr1 [not] between expr2 and expr2 |
expr1 が expr2 以上で expr3 以下であるかどうかをテストします。 |
[] | arrayExpr [ indexExpr ] |
indexExpr
ARRAY の arrayExpr 番目の要素を返します |
[] | mapExpr [ keyExpr ] |
keyExpr
MAP の mapExpr の値を返します。 |
^ | expr1 ^ expr2 |
OR (XOR) と expr1 のビット単位の排他的 expr2 を返します。 |
: | jsonStr : jsonPath |
jsonStr から抽出されたフィールドを返します。 |
:: | expr :: type |
expr の値をターゲット データ型 type にキャストします。 |
?:: | expr ?:: type |
可能であれば、 expr 値をターゲット データ型 type にキャストし、それ以外の場合 NULL 返します。 |
div | dividend div divisor |
dividend による divisor の除算の整数部分を返します。 |
。 | mapExpr . keyIdentifier |
MAP の値を keyIdentifier によって返します。 |
。 | structExpr . fieldIdentifier |
STRUCT によって fieldIdentifier フィールドを返します。 |
== | expr1 == expr2 |
true が expr1 と等しい場合は expr2 を返し、それ以外の場合は false を返します。 |
= | expr1 = expr2 |
true が expr1 と等しい場合は expr2 を返し、それ以外の場合は false を返します。 |
>= | expr1 >= expr2 |
true が expr1 以上の場合は expr2 を返し、それ以外の場合は false を返します。 |
> | expr1 > expr2 |
true が expr1 より大きい場合は expr2 、それ以外の場合は false を返します。 |
存在する | exists(query) |
query が 1 つ以上の行を返す場合は true を返し、それ以外の場合は false を返します。 |
ilike | str [not] ilike (pattern[ESCAPE escape]) |
大文字と小文字の区別なしで str が pattern を指定した escape に一致する (しない) 場合に、true を返します。 |
ilike | str [not] ilike {ANY\|SOME\|ALL}([pattern[, ...]]) |
大文字と小文字の区別なしに str が any/all パターンに一致しない場合は、true を返します。 |
で | elem [not] in (expr1[, ...]) |
true が elem と等しくない場合は、exprN を返します。 |
で | elem [not] in (query) |
true が elem 内にある行と等しくない場合は、query を返します。 |
は異なっています | expr1 is [not] distinct from expr2 |
NULL が比較可能な値と見なされる場合に、引数に異なる値が含まれていないかどうかをテストします。 |
が false です | expr is [not] false |
expr が false ではないかどうかをテストします。 |
が null です | expr is [not] null |
true が expr である (ない) 場合、NULL を返します。 |
は true です | expr is [not] true |
expr が true ではないかどうかをテストします。 |
という感じで | str [not] like (pattern[ESCAPE escape]) |
str が pattern を含む escape に一致しない場合は、true を返します。 |
という感じで | str [not] like {ANY\|SOME\|ALL}([pattern[, ...]]) |
str が any/all パターンに一致しない場合は、true を返します。 |
<=> | expr1 <=> expr2 |
null 以外のオペランドの場合は EQUAL(=) と同じ結果を返しますが、両方が true の場合は NULL を返し、一方が false の場合は NULL を返します。 |
<= | expr1 <= expr2 |
true が expr1 以下の場合は expr2 、そうでない場合は false を返します。 |
<> | expr1 <> expr2 |
true が expr1 と等しくない場合は、expr2 を返します。それ以外の場合は、false を返します。 |
< | expr1 < expr2 |
true が expr1 より小さい場合は expr2 を返し、そうでない場合は false を返します。 |
- | expr1 - expr2 |
expr2 からの expr1 の減算を返します。 |
いいえ | not expr |
ブール式の論理 NOT を返します。 |
または | expr1 or expr2 |
OR と expr1 の論理 expr2 を返します。 |
% | dividend % divisor |
dividend
/
divisor 後の剰余を返します。 |
|| | expr1 \|\| expr2 |
expr1 と expr2 の連結を返します。 |
| | expr1 \| expr2 |
OR と expr1 のビット単位の expr2 を返します。 |
+ | expr1 + expr2 |
expr1 と expr2 の合計を返します。 |
regexp | str [not] regexp regex |
str が regex に一致しない場合は、true を返します。 |
regexp_like | str [not] regexp_like regex |
str が regex に一致しない場合は、true を返します。 |
rlike | str [not] rlike regex |
str が regex に一致しない場合は、true を返します。 |
/ | dividend / divisor |
dividend を divisor で除算して返します。 |
~ | ~ expr |
ビット演算の結果として NOT と expr を返します。 |
演算子の優先順位
優先順位 | オペレーター |
---|---|
1 |
: 、 :: 、 ?:: 、 [ ] |
2 |
- (単項), + (単項), ~ |
3 |
* 、 / 、 % 、 div |
4 |
+ 、 - 、 \|\| |
5 | & |
6 | ^ |
7 | \| |
8 |
= 、 == 、 <=> 、 <> 、 != 、 < 、 <= 、 > 、 >= |
9 |
not 、exists |
10 |
between 、 in 、 rlike 、 regexp 、 ilike 、 like 、 is [not] [NULL, true, false] 、 is [not] distinct from |
11 | and |
12 | or |
文字列関数とバイナリ関数
機能 | 説明 |
---|---|
expr1 ||expr2 |
expr1 と expr2 の連結を返します。 |
aes_decrypt(expr, key[, mode[, padding[, aad]]]) | AES 暗号化を使用してバイナリ expr を復号化します。 |
aes_encrypt(expr, key[, mode[, padding[, iv[, aad]]]) | AES 暗号化を使用してバイナリ expr を暗号化します。 |
ascii(str) |
str の最初の文字の ASCII コード ポイントを返します。 |
base64(expr) |
expr を base 64 文字列に変換します。 |
bin(expr) |
expr のバイナリ表現を返します。 |
binary(expr) |
expr の値を BINARY にキャストします。 |
bit_length(expr) | 文字列データのビット長またはバイナリ データのビット数を返します。 |
bitmap_count(expr) | ビットマップを表す BINARY 文字列に設定されたビット数を返します。 |
btrim(str [, trimStr]) | 先頭と末尾の文字を削除して str を返します。 |
char(expr) | 指定された UTF-16 コード ポイントの文字を返します。 |
char_length(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
文字長(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
charindex(substr, str[, pos]) |
substr の str 位置の後に pos が最初に現れる位置を返します。 |
chr(expr) | 指定された UTF-16 コード ポイントの文字を返します。 |
strExpr collate collationName | 明示的な照合順序 collationName を strExpr に付けます。 |
照合順序 [for] (strExpr) |
strExpr に付けられている照合順序を返します。 |
concat(expr1, expr2[, ...]) | 引数を連結して返します。 |
concat_ws(sep[, expr1[, ...]]) |
sep で区切られた連結文字列を返します。 |
contains(expr, subExpr) |
true
expr または STRING に BINARY が含まれている場合は subExpr を返します。 |
crc32(expr) |
expr の巡回冗長検査値を返します。 |
decode(expr, charSet) | 文字セット エンコード expr を使用して、バイナリ charSet を文字列に変換します。 |
encode(expr, charSet) |
charSet 文字エンコードを使用して、文字列のバイナリ表現を返します。 |
endswith(expr, endExpr) |
true
expr または STRING が BINARY で終わる場合は endExpr を返します。 |
find_in_set(searchExpr, sourceExpr) 関数は、searchExpr が sourceExpr 内で見つかる位置を返します。 | 文字列のコンマ区切りリスト内の文字列の位置を返します。 |
`数値をフォーマットする(expr, scale)` |
expr を #,###,###.## のように書式設定し、小数点以下 scale 桁に丸めます。 |
format_number(expr, fmt) |
expr を fmt のように書式設定します。 |
format_string(strfmt[, obj1 [, ...]]) | printf 形式の書式指定文字列から書式設定された文字列を返します。 |
hex(expr) |
expr を 16 進数に変換します。 |
str ilike (pattern[ESCAPE escape]) |
str の大文字と小文字を区別せずに pattern が escape と一致する場合は、true を返します。 |
initcap(expr) | 各単語の先頭文字を大文字にして expr を返します。 |
instr(str, substr) |
substr 内で str が最初に出現する位置の、(1 から始まる) インデックスを返します。 |
lcase(expr) | すべての文字が小文字に変更された expr を返します。 |
left(str, len) |
len の左端の str 文字を返します。 |
len(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
長さ(表現) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
levenshtein(str1, str2) | 文字列 str1 と str2 の間の Levenshtein 距離を返します。 |
str類似(パターン[ESCAPEエスケープ]) |
str が pattern を指定した escape と一致する場合に true を返します。 |
locate(substr, str[, pos]) |
substr の str 位置の後に pos が最初に現れる位置を返します。 |
lower(expr) | すべての文字が小文字に変更された expr を返します。 |
lpad(expr, len[, pad]) |
expr の長さになるように左側に pad を埋め込んだ len を返します。 |
ltrim([trimstr,] str) |
str 内の先頭文字が削除された trimStr を返します。 |
mask(str[, upperChar[, lowerChar[, digitChar[, otherChar]]]]) | 入力 str のマスクされたバージョンを返します。 |
md5(expr) | 16 進数文字列として expr の MD5 128 ビット チェックサムを返します。 |
octet_length(expr) | 文字列データのバイト長またはバイナリ データのバイト数を返します。 |
オーバーレイ(入力 配置 差し替え 位置から [長さ用]) |
input は、replace で始まり長さが pos である len に置き換えられます。 |
オーバーレイ(入力 配置 差し替え 位置から [長さ用]) |
input は、replace で始まり長さが pos である len に置き換えられます。 |
parse_url(url, partToExtract[, key]) |
url からパーツを抽出します。 |
position(substr, str[, pos]) |
substr の str 位置の後に pos が最初に現れる位置を返します。 |
position(subtr IN str) |
substr の str 位置の後に pos が最初に現れる位置を返します。 |
printf(strfmt[, obj1 [, ...]]) | printf 形式の書式指定文字列から書式設定された文字列を返します。 |
randstr(length) |
length の長さの英数字のランダムな文字列を返します。 |
str regexp regex |
str が regex と一致する場合に true を返します。 |
str regexp_like regex |
str が regex と一致する場合に true を返します。 |
regexp_count(str, regexp) |
str が regexp パターンと一致する回数を返します。 |
regexp_extract(str, regexp[, idx]) |
str 式に一致し、regexp グループ インデックスに対応する、regex 内の最初の文字列を抽出します。 |
regexp_extract_all(str, regexp[, idx]) |
str 式に一致し、regexp グループ インデックスに対応する regex 内のすべての文字列を抽出します。 |
regexp_instr(str, regexp) |
str の中で最初に regexp と一致する部分文字列の位置を返します。 |
regexp_replace(str, regexp, rep[, position]) |
str と一致する regexp のすべての部分文字列を rep に置き換えます。 |
regexp_substr(str, regexp) |
str の中で最初に regexp と一致する部分文字列を返します。 |
repeat(expr, n) |
expr を n 回繰り返す文字列を返します。 |
replace(str, search [, replace]) | 出現するすべての search を replace で置き換えます。 |
reverse(expr) | 反転された文字列または要素が逆順になった配列を返します。 |
right(str, len) | 文字列 len の右端の str 文字を返します。 |
str rlike regex |
str が regex と一致する場合に true を返します。 |
rpad(expr, len[, pad]) |
expr の長さになるように右側に pad を埋め込んだ len を返します。 |
rtrim([trimStr,] str) | 末尾の文字が削除された str を返します。 |
sentences(str[, lang, country]) |
str を単語の配列の配列に分割します。 |
sha(expr) |
expr の 16 進文字列として sha1 ハッシュ値を返します。 |
sha1(expr) |
expr の 16 進文字列として sha1 ハッシュ値を返します。 |
sha2(expr, bitLength) | SHA-2 ファミリのチェックサムを expr の 16 進数文字列として返します。 |
soundex(expr) | 文字列の soundex コードを返します。 |
space(n) |
n 個のスペースで構成される文字列を返します。 |
split(str, regex[, limit]) |
str に一致する出現箇所に関する regex を分割し、最大で limit の長さの配列を返します。 |
split_part(str, delim, partNum) |
str の出現場所を囲むように delim を分割し、partNum パーツを返します。 |
startswith(expr, startExpr) |
true
expr または STRING が BINARY で始まる場合は startExpr を返します。 |
string(expr) | 値 expr を STRING にキャストします。 |
substr(expr, pos[, len]) |
expr から始まり、長さが pos である len の部分文字列を返します。 |
substr(expr FROM pos[ FOR len]) |
expr から始まり、長さが pos である len の部分文字列を返します。 |
substring(expr, pos[, len]) |
expr から始まり、長さが pos である len の部分文字列を返します。 |
substring(expr FROM pos[ FOR len]) |
expr から始まり、長さが pos である len の部分文字列を返します。 |
substring_index(expr, delim, count) | 区切り記号 expr が count 回出現する前の delim の部分文字列を返します。 |
to_binary(expr[, fmt]) |
expr を fmt に基づいてバイナリにキャストした結果を返します。 |
to_char(numExpr, fmt) |
numExpr の書式設定を使用して、STRING にキャストされた fmt を返します。 |
to_varchar(numExpr, fmt) (数値を文字列に変換) |
numExpr の書式設定を使用して、STRING にキャストされた fmt を返します。 |
translate(expr, from, to) |
expr 内のすべての文字が from 内の文字に置き換えられている場合に to を返します。 |
trim([[BOTH |LEADING |TRAILING] [trimStr] FROM] str) | 文字列から文字をトリミングします。 |
try_aes_decrypt(expr, key[, mode[, padding[, aad]]]) | AES 暗号化を使用してバイナリ expr を復号化し、エラーが発生した場合は NULL を返します。 |
try_to_binary(expr [, fmt]) |
expr に基づいて BINARY にキャストされた fmt を返します。入力が無効な場合は NULL を返します。 |
try_url_decode(str) | 文字列を application/x-www-form-urlencoded 形式から変換し直し、エラーの場合には NULL を返します。 |
try_zstd_decompress(値) | Zstandard 圧縮で展開された値を返します。入力が無効な場合は NULL を返します。 |
ucase(expr) | すべての文字を大文字に変更して expr を返します。 |
unbase64(expr) | デコードされた base64 文字列をバイナリとして返します。 |
unhex(expr) | 16 進数の expr を BINARY に変換します。 |
upper(expr) | すべての文字を大文字に変更して expr を返します。 |
url_decode(str) | application/x-www-form-urlencoded 形式から文字列を変換します。 |
url_encode(str) | application/x-www-form-urlencoded 形式に文字列を変換します。 |
zstd_compress (value[,level[,streaming_mode]) | Zstandard 圧縮で圧縮された値を返します。 |
zstd_decompress(値) | Zstandard 圧縮で解凍された値を返します。 |
数値スカラー関数
機能 | 説明 |
---|---|
~ expr | ビット演算の結果として NOT と expr を返します。 |
dividend / divisor |
dividend を divisor で除算して返します。 |
expr1 |expr2 |
OR と expr1 のビット単位の expr2 を返します。 |
- expr |
expr の否定値を返します。 |
expr1 - expr2 |
expr2 からの expr1 の減算を返します。 |
+ expr |
expr の値を返します。 |
expr1 + expr2 |
expr1 と expr2 の合計を返します。 |
dividend % divisor |
dividend
/
divisor 後の剰余を返します。 |
expr1 ^ expr2 |
OR (XOR) と expr1 のビット単位の排他的 expr2 を返します。 |
expr1 & expr2 |
AND と expr1 のビット単位の expr2 を返します。 |
乗数 * 被乗数 |
multiplier に multiplicand を乗算したものを返します。 |
abs(expr) |
expr 内の数値の絶対値を返します。 |
acos(expr) |
expr の逆コサイン (アークコサイン) を返します。 |
acosh(expr) |
expr の逆双曲線余弦を返します。 |
asin(expr) |
expr の逆正弦 (アークサイン) を返します。 |
asinh(expr) |
expr の逆双曲線正弦を返します。 |
atan(expr) |
expr の逆正接 (アークタンジェント) を返します。 |
atan2(exprY, exprX) | 座標 (exprX , exprY ) で指定された、平面の正の x 軸と点の間の角度をラジアンで返します。 |
atanh(expr) |
expr の逆双曲線正接を返します。 |
bigint(expr) | 値 expr を BIGINT にキャストします。 |
bit_count(expr) | 引数で設定されたビット数を返します。 |
bit_get(expr, pos) | ビットの値を整数数値のバイナリ表現で返します。 |
bit_reverse(expr) | 引数内のビットの順序を逆にして得られた値を返します。 |
bitmap_bit_position(ビット位置を取得する関数 expr) | バケット内の指定された BIGINT 数の 0 から始まるビット位置を返します。 |
ビットマップ_バケット_ナンバー(expr) | 指定された BIGINT 数のビットマップ バケット番号を返します。 |
bround(expr[,targetScale]) |
expr 丸めモードを使用して丸められた HALF_EVEN を返します。 |
cbrt(expr) |
expr の立方根を返します。 |
ceil(expr[,targetScale]) | 小数点に対して expr 桁まで丸められた targetScale よりは小さくない最小数を返します。 |
ceiling(expr[,targetScale]) | 小数点に対して expr 桁まで丸められた targetScale よりは小さくない最小数を返します。 |
conv(num, fromBase, toBase) |
num を fromBase から toBase に変換します。 |
convert_timezone([sourceTz, ]targetTz, sourceT) |
TIMESTAMP_NTZ
sourceTs を sourceTz タイム ゾーンから targetTz に変換します。 |
cos(expr) |
expr のコサインを返します。 |
cosh(expr) |
expr の双曲線コサインを返します。 |
cot(expr) |
expr のコタンジェントを返します。 |
csc(expr) |
expr のコセカントを返します。 |
decimal(expr) | 値 expr を DECIMAL にキャストします。 |
度数(expr) | ラジアンを角度に変換します。 |
divisor div dividend |
divisor による dividend の除算の整数部分を返します。 |
double(expr) | 値 expr を DOUBLE にキャストします。 |
e() | 定数 e を返します。 |
exp(expr) |
e の expr 乗を返します。 |
expm1(expr) |
exp(expr) - 1 が返されます。 |
factorial(expr) |
expr の階乗を返します。 |
float(expr) | 値 expr を FLOAT にキャストします。 |
フロア関数(expr[,targetScale]) | 小数点に対して expr 桁まで丸められた targetScale より小さくならない最大数を返します。 |
getbit(expr, pos) | ビットの値を整数数値のバイナリ表現で返します。 |
hypot(expr1, expr2) |
sqrt(expr1 * expr1 + expr2 * expr2) が返されます。 |
int(expr) | 値 expr を INTEGER にキャストします。 |
isnan(expr) |
true が expr である場合、NaN を返します。 |
ln(expr) |
e の自然対数 (基数 expr ) を返します。 |
log([base,] expr) |
expr を指定して base の対数を返します。 |
log1p(expr) |
log(1 + expr) が返されます。 |
log2(expr) |
expr を底とする 2 の対数を返します。 |
log10(expr) |
expr を底とする 10 の対数を返します。 |
mod(dividend, divisor) |
dividend / divisor 後の剰余を返します。 |
nanvl(expr1, expr2) |
expr1 でない場合はNaN を返し、それ以外の場合はexpr2 返します。 |
negative(expr) |
expr の否定値を返します。 |
'nullifzero(expr)' | 0 でない場合は expr を返し、それ以外の場合は NULL 返します。 |
pi() | pi を返します。 |
pmod(dividend, divisor) |
dividend / divisor 後の正の剰余を返します。 |
正(expr) |
expr の値を返します。 |
pow(expr1, expr2) |
expr1 を expr2 の累乗にします。 |
power(expr1, expr2) |
expr1 を expr2 の累乗にします。 |
radians(expr) | 角度の expr をラジアンに変換します。 |
rand([シード]) | 0 から 1 のランダムな値を返します。 |
randn([seed]) | 標準正規分布からランダムな値を返します。 |
ランダム([シード]) | 0 から 1 のランダムな値を返します。 |
rint(expr) |
expr を整数に丸めて DOUBLE として返します。 |
round(expr[,targetScale]) (丸める(expr[,targetScale])) |
expr 丸めモードを使用して丸められた HALF_UP を返します。 |
sec(expr) |
expr のセカントを返します。 |
shiftleft(expr, n) | ビット単位で n ビット左にシフトした値を返します。 |
shiftright(expr, n) |
n ビット右にシフトしたビット単位の符号付き整数値を返します。 |
shiftrightunsigned(expr, n) |
n ビット右にシフトしたビット単位の符号なし整数値を返します。 |
sign(expr) |
expr が負、0、正の場合に、それぞれ -1.0、0.0、1.0 を返します。 |
signum(expr) |
expr が負、0、正の場合に、それぞれ -1.0、0.0、1.0 を返します。 |
sin(expr) |
expr の正弦関数を返します。 |
sinh(expr) |
expr の双曲線サインを返します。 |
smallint(expr) | 値 expr を SMALLINT にキャストします。 |
sqrt(expr) |
expr の平方根を返します。 |
tan(expr) |
expr のタンジェントを返します。 |
tanh(expr) |
expr の双曲線タンジェントを返します。 |
tinyint(expr) |
expr を TINYINT にキャストします。 |
to_number(expr, fmt ) |
expr の書式設定を使用して、DECIMAL にキャストされた fmt を返します。 |
try_add(expr1, expr2) |
expr1 と expr2 の合計を返します。エラーの場合は NULL を返します。 |
try_divide(除数,除数) |
dividend で除算された divisor を返します。NULL が 0 の場合は divisor を返します。 |
try_mod(配当、除数) |
dividend / divisor 後の剰余を返します。NULL が 0 の場合は divisor を返します。 |
try_multiply(乗数,多重度) |
multiplier によって乗算、またはオーバーフロー時に multiplicand によって乗算された NULL を返します。 |
try_subtract(expr1, expr2) |
expr2 から expr1 の減算、またはオーバーフロー時に NULL の減算を返します。 |
try_to_number(expr, fmt ) | 書式設定 expr を使用して DECIMAL にキャストされた fmt を返します。NULL が書式と一致しない場合は expr を返します。 |
uniform(expr1, expr2 [,seed]) | 指定した数値範囲内の独立した同一の分散値を持つランダムな値を返します。 |
width_bucket(expr,minExpr, maxExpr, numBuckets) | 等幅ヒストグラム内の値のバケット番号を返します。 |
'zeroifnull(expr)' |
expr されていない場合はNULL を返し、それ以外の場合は0 返します。 |
集計関数
機能 | 説明 |
---|---|
any(expr) | グループ内の expr の少なくとも 1 つの値が true の場合に true を返します。 |
任意の値(expr[,ignoreNull]) | 行のグループに対するexpr のいくつかの値を返します。 |
approx_count_distinct(expr[,relativeSD]) |
expr でグループ内の個別の値の推定数を返します。 |
approx_percentile(expr,percentage[,accuracy])は与えられた式(expr)やパーセンテージに基づいて近似的なパーセンタイルを計算する関数です。 | グループ内の expr の近似パーセンタイルを返します。 |
approx_top_k(expr[,k[,maxItemsTracked]]) |
k 内で最も頻繁に出現する項目値の上位 expr 個を概算数と共に返します。 |
array_agg(expr) | グループ内の expr のすべての値で構成される配列を返します。 |
avg(expr) | グループの値から計算された平均を返します。 |
bit_and(expr) | グループ内のすべての入力値のビットごとの AND を返します。 |
bit_or(expr) | グループ内のすべての入力値のビットごとの OR を返します。 |
bit_xor(expr) | グループ内のすべての入力値のビットごとの XOR を返します。 |
bitmap_construct_agg(expr) | グループ内のすべてのビット位置の値に対するビット演算 (OR ) を返します。
BINARY でのグループ内の 0 から 32767 の間です。 |
bitmap_or_agg(expr) | グループ内のすべての OR 入力値のビットごとの BINARY を返します。 |
bool_and(expr) |
expr 内のすべての値がグループ内で true の場合は true を返します。 |
bool_or(expr) | グループ内の expr の少なくとも 1 つの値が true の場合に、true を返します。 |
collect_list(expr) | グループ内の expr のすべての値で構成される配列を返します。 |
collect_set(expr) | グループ内の expr のすべての一意の値で構成される配列を返します。 |
corr(expr1,expr2) | 数値ペアのグループ間におけるピアソン係数の相関関係を返します。 |
count(*) | null を含む行を含め、グループ内で取得した行の合計数を返します。 |
count(expr[, ...]) | 指定された式がすべて null 以外であるグループ内の行数を返します。 |
count_if(expr) |
expr 内のグループの true の値の数を返します。 |
count_min_sketch(column,epsilon,confidence,seed) |
column 、epsilon および confidence を使用して、seed のグループ内のすべての値のカウント最小のスケッチを返します。 |
covar_pop(expr1,expr2) | グループ内の数値ペアの母集団の共分散を返します。 |
covar_samp(expr1,expr2) | グループ内の数値ペアのサンプル共分散を返します。 |
every(expr) | グループ内の expr のすべての値が true の場合、true を返します。 |
first(expr[,ignoreNull]) | 行グループの expr の最初の値を返します。 |
first_value(expr[,ignoreNull]) | 行グループの expr の最初の値を返します。 |
histogram_numeric(expr,numBins) |
expr ビンで numBins のヒストグラムを計算し、ビンの中心を表すペアの配列を返します。 |
hll_sketch_agg(expr[,lgConfigK]) | 個別の値の数を概算するために使用される HyperLogLog スケッチを返します。 |
hll_union_agg(expr[,allowDifferentLgConfigK]) | 行のグループの HyperLogLog スケッチを集計します。 |
kurtosis(expr) | グループの値から計算された尖度値を返します。 |
ラスト(expr[,ignoreNull]) | 行のグループの expr の最後の値を返します。 |
最終値(expr[,Nullを無視する]) | 行のグループの expr の最後の値を返します。 |
listagg(expr[,delim]) [WITHIN GROUP (ORDER BY キー [,...])] | グループ内のSTRING 内のすべての値の連結されたBINARY またはexpr を、delim で区切って返します。 |
max(expr) | グループ内の expr の最大値を返します。 |
max_by(expr1,expr2) (最大値を計算するための関数) | グループ内の expr1 の最大値に関連付けられている expr2 値を返します。 |
mean(expr) | グループの値から計算された平均を返します。 |
測定(measure_column) | グループの値から計算された指標ビューの測定値を返します。 |
median(expr) | グループの値から計算された中央値を返します。 |
min(expr) | グループ内の expr の最小値を返します。 |
min_by(expr1, expr2)関数は、expr1とexpr2の中で最小のものを選びます。 | グループ内の expr1 の最小値に関連付けられている expr2 の値を返します。 |
mode(expr [,deterministic]) | グループ内の最も頻度の高い、NULL でない expr の値を返します。 |
パーセンタイル(expr, percent, [, frequency]) | 指定した expr での percentage の正確なパーセント値を返します。 |
percentile_approx(式,パーセンテージ[,精度]) | グループ内の expr の近似パーセンタイルを返します。 |
PERCENTILE_CONT(pct) WITHIN GROUP (ORDER BY キー) | グループ内の key の補間されたパーセントを返します。 |
PERCENTILE_DISC(pct) WITHIN GROUP (ORDER BY キー) | グループ内の key の離散パーセンタイルを返します。 |
regr_avgx(yExpr, xExpr) |
xExpr と xExpr が yExpr であるグループの値から計算された NOT NULL の平均を返します。 |
regr_avgy(yExpr, xExpr) |
yExpr と xExpr が yExpr であるグループの値から計算された NOT NULL の平均を返します。 |
regr_count(yExpr, xExpr) | グループ内の null 以外の値のペア yExpr 、xExpr の数を返します。 |
regr_intercept(yExpr, xExpr) |
xExpr と yExpr が NULL ではないグループにおいて、線形単回帰直線の切片を返します。 |
regr_r2(yExpr, xExpr) |
xExpr および yExpr が NULL ではないグループの値から決定係数を返します。 |
regr_slope(yExpr, xExpr) | グループ内の null 以外の値ペア (yExpr 、xExpr ) の線形回帰直線の傾きを返します。 |
regr_sxx(yExpr, xExpr) |
xExpr および xExpr が NULL ではないグループの yExpr 値の平方和を返します。 |
regr_sxy(yExpr, xExpr) |
yExpr および xExpr が xExpr であるグループの値から計算される yExpr と NOT NULL の積の和を返します。 |
regr_syy(yExpr, xExpr) |
yExpr および xExpr が NULL ではないグループの yExpr 値の平方和を返します。 |
schema_of_json_agg(json[, options]) |
JSON 文字列をグループに結合したスキーマを DDL 形式で返します。 |
schema_of_variant_agg(variantExpr) | すべての VARIANT 値をグループに結合したスキーマを DDL 形式で返します。 |
歪度(expr) | グループの値から計算された歪度値を返します。 |
some(expr) | グループ内の expr の少なくとも 1 つの値が true である場合に、true を返します。 |
std(expr) | グループ内の値から計算されたサンプル標準偏差を返します。 |
stddev(expr) | グループ内の値から計算されたサンプル標準偏差を返します。 |
stddev_pop(expr) | グループの値から計算された母標準偏差を返します。 |
stddev_samp(expr) | グループの値から計算されたサンプル標準偏差を返します。 |
string_agg(expr[,delim]) [WITHIN GROUP (ORDER BY key [,...])] | グループ内のSTRING 内のすべての値の連結されたBINARY またはexpr を、delim で区切って返します。 |
sum(expr) | グループの値から計算された合計を返します。 |
try_avg(expr) | グループの値から計算された平均を返します。オーバーフローがある場合は NULL を返します。 |
try_sum(expr) | グループの値から計算された合計を返します。オーバーフローがある場合は NULL を返します。 |
var_pop(expr) | グループの値から計算された母集団分散を返します。 |
var_samp(expr) | グループの値から計算されたサンプル分散を返します。 |
variance(expr) | グループの値から計算されたサンプル分散を返します。 |
ランク付けウィンドウ関数
機能 | 説明 |
---|---|
dense_rank() | パーティション内のすべての値と比較した値の順位を返します。 |
ntile(n) | 各ウィンドウ パーティションの行を1から最大n までの範囲でn個のバケットに分割します。 |
percent_rank() | パーティション内の値のパーセンテージ順位を計算します。 |
rank() | パーティション内のすべての値と比較した値の順位を返します。 |
row_number() | ウィンドウ パーティション内の行の順序に従って、各行に 1 から始まる一意の連続する番号を割り当てます。 |
分析ウィンドウ関数
機能 | 説明 |
---|---|
cume_dist() | パーティション内のすべての値に対する相対的な値の位置を返します。 |
lag(expr[,offset[,default]]) | パーティション内の前の行から expr の値を返します。 |
lead(expr[,offset[,default]]) | パーティション内の後続の行から expr の値を返します。 |
nth_value(expr, offset[, ignoreNulls]) | ウィンドウ内の特定の expr にある offset の値を返します。 |
配列関数
機能 | 説明 |
---|---|
arrayExpr[indexExpr] | ARRAY indexExpr の位置 arrayExpr にある要素を返します。 |
aggregate(expr,start,merge[,finish]) | カスタム アグリゲーターを使用して、配列内の要素を集計します。 |
array([expr [, ...]]) |
expr 内の要素を含む配列を返します。 |
array_append(配列, 要素) |
array を追加した elem を返します。 |
array_compact(配列) |
array から NULL 値を削除します。 |
array_contains(配列,値) |
array が value を含む場合は true を返します。 |
array_distinct(array)(配列の重複を排除する関数) |
array から重複する値を削除します。 |
array_except(配列1, 配列2) |
array1 内の要素の配列を返しますが、array2 内のものは返しません。 |
array_insert(配列, インデックス, 要素) |
array の位置に elem を挿入して拡張された index を返します。 |
array_intersect(array1,array2) は、複数の配列の共通の要素を集める関数です。 |
array1 と array2 の共通部分にある要素の配列を返します。 |
array_join(配列,区切り記号[,nullReplacement]) |
array の要素を連結します。 |
array_max(配列) |
array 内の最大値を返します。 |
array_min("配列") |
array 内の最小値を返します。 |
array_position(配列,要素) |
element で最初に見つかった array の位置を返します。 |
array_prepend(配列, 要素) | 先頭に array が追加された elem を返します。 |
array_remove(配列,要素) | 出現するすべての element を array から削除します。 |
array_repeat(要素,カウント) |
element が count 回含まれる配列を返します。 |
配列サイズ(配列) |
array 内の要素数を返します。 |
array_sort(配列,func) |
array に従って並べ替えられた func を返します。 |
array_union(array1,array2) | 重複を除いて、array1 と array2 の和集合要素の配列を返します。 |
arrays_overlap(array1, array2) |
array1 と array2 の積集合が空でない場合に true を返します。 |
arrays_zip(array1 [, ...])(配列をジップする関数) | N 番目の構造体に入力配列の n 番目の値がすべて含まれている構造体のマージされた配列を返します。 |
cardinality(expr) |
expr のサイズを返します。 |
concat(expr1, expr2 [, ...]) | 引数を連結して返します。 |
element_at(arrayExpr, index) |
arrayExpr にある index の要素を返します。 |
exists(expr, pred) |
pred 内の任意の要素に対して expr が true の場合は true を返します。 |
explode(コレクション) |
collection の入れ子を解除して行を返します。 |
explode_outer(コレクション) | 外部セマンティクスを使用し、collection の入れ子を解除して行を返します。 |
filter(expr,func) | 関数 expr を使用して、func 内の配列をフィルター処理します。 |
flatten(arrayOfArrays) | 複数の配列内の配列を単一の配列に変換します。 |
forall(expr, predFunc) | 配列内のすべての要素に対して predFunc が有効かどうかをテストします。 |
get(arrayExpr, index) |
arrayExpr にある index の要素を、0 を始めとして返します。 |
インライン(入力) | 構造体の配列をテーブルに展開します。 |
inline_outer(入力) | 構造体の配列を、外部セマンティクスを持つテーブルに分解します。 |
posexplode(collection) | 位置の番号付けで配列の入れ子を解除して行を返します。 |
posexplode_outer(コレクション) |
OUTER セマンティクスを使用して、位置番号を付けながら配列のネストを解除することにより、行を返します。 |
reduce(expr,start,merge[,finish]) | カスタム アグリゲーターを使用して、配列内の要素を集計します。 |
反転(配列) | 反転された文字列または要素が逆順になった配列を返します。 |
シーケンス(開始,終了,ステップ) |
start から stop まで (両端を含む) の要素の配列を生成し、step でインクリメントします。 |
shuffle(array)(配列の順序をランダムに入れ替えます) |
expr 内の配列のランダムな順列を返します。 |
size(expr) |
expr のカーディナリティを返します。 |
slice(expr,start,length) | 配列のサブセットを返します。 |
sort_array(expr[,ascendingOrder]) |
expr の配列を並べ替え順序で返します。 |
transform(expr, func) | 関数 expr を使用して、func の配列内の要素を変換します。 |
try_element_at(arrayExpr, index) 関数を使用して、配列内の指定したインデックスの要素を取得します。 |
arrayExpr にある index の要素を、NULL が範囲外の場合は index を返します。 |
zip_with(expr1, expr2, func) |
expr1 を使用して、expr2 と func の配列を要素ごとに 1 つの配列にマージします。 |
マップ関数
機能 | 説明 |
---|---|
mapExpr[keyExpr] | MAP keyExpr の mapExpr の値を返します。 |
cardinality(expr) |
expr のサイズを返します。 |
element_at(mapExpr, key) |
mapExpr の key についての値を返します。 |
explode(コレクション) |
expr の入れ子を解除して行を返します。 |
explode_outer(コレクション) | 外部セマンティクスを使用し、expr の入れ子を解除して行を返します。 |
map([{key1, value1}[, ...]]) | 指定されたキーと値のペアを使用してマップを作成します。 |
map_concat([expr1 [, ...]]) | すべての expr のマップ式の和集合を返します。 |
マップにキーが含まれているか(map, key) |
true に map が含まれている場合には key を、それ以外の場合は false を返します。 |
map_entries(map) |
map 内のすべてのエントリの順序指定されていない配列を返します。 |
map_filter(expr, func) | 関数 expr を使用して、func のマップ内のエントリをフィルター処理します。 |
キーと値の配列からマップを生成する (map_from_arrays(keys, values)) |
keys 配列と values 配列のペアを使用してマップを作成します。 |
エントリーからマップを作成する(expr) | 指定されたエントリの配列からマップを作成します。 |
map_keys(マップ) |
map のキーを含む順序指定されていない配列を返します。 |
map_values(マップ) |
map の値を含む順序指定されていない配列を返します。 |
map_zip_with(map1, map2, func) |
map1 と map2 を 1 つのマップにマージします。 |
size(expr) |
expr のカーディナリティを返します。 |
str_to_map(expr[,pairDelim[,keyValueDelim]]) | 区切り記号を使用して expr をキーと値のペアに分割した後にマップを作成します。 |
transform_keys(expr, func) | 関数 expr を使用して、func のマップ内のキーを変換します。 |
transform_values(expr, func) | 関数 expr を使用して、func のマップ内の値を変換します。 |
try_element_at(mapExpr, key) |
mapExpr の key の値を、NULL が存在しない場合は key を返します。 |
日付、タイムスタンプ、および間隔の関数
日付とタイムスタンプの形式について詳しくは、「Datetime パターン」を参照してください。
機能 | 説明 |
---|---|
intervalExpr / divisor | 間隔を divisor で除算した値を返します。 |
- intervalExpr |
intervalExpr の否定値を返します。 |
intervalExpr1 - intervalExpr2 |
intervalExpr2 からの intervalExpr1 の減算を返します。 |
datetimeExpr1 - datetimeExpr2 |
datetimeExpr2 からの datetimeExpr1 の減算を返します。 |
+ intervalExpr |
intervalExpr の値を返します。 |
intervalExpr1 + intervalExpr2 |
intervalExpr1 と intervalExpr2 の合計を返します。 |
intervalExpr * multiplicand |
intervalExpr に multiplicand を乗算したものを返します。 |
abs(expr) |
expr 内の間隔値の絶対値を返します。 |
add_months(startDate,numMonths) |
numMonths の後の startDate である日付を返します。 |
curdate() | クエリ評価開始時の現在の日付を返します。 |
current_date() | クエリ評価開始時の現在の日付を返します。 |
current_timestamp() | クエリ評価の開始時点での現在のタイムスタンプを返します。 |
current_timezone() | 現在のセッションのローカル タイムゾーンを返します。 |
date(expr) | 値 expr を日付にキャストします。 |
date_add(startDate,numDays) |
numDays 後の日付 startDate を返します。 |
date_add(単位, 値, 式) |
value
unit をタイムスタンプ expr に追加します。 |
date_diff(単位、開始、停止) |
unit で測定された 2 つのタイムスタンプの差を返します。 |
date_format(expr,fmt) | timestamp を fmt 形式の文字列に変換します。 |
date_from_unix_date(日数) |
1970-01-01 以降の日数から日付を作成します。 |
date_part(field,expr) | 日付、タイムスタンプ、または間隔の一部を抽出します。 |
date_sub(startDate,numDays) |
numDays の startDate 日前の日付を返します。 |
date_trunc(unit,expr) |
unit で指定された単位に切り詰められたタイムスタンプを返します。 |
dateadd(startDate,numDays) |
numDays 後の日付 startDate を返します。 |
日付追加(単位, 値, 式) |
value
unit をタイムスタンプ expr に追加します。 |
datediff(endDate,startDate) |
startDate から endDate までの日数を返します。 |
日付差分(単位, 開始, 終了) |
unit で測定された 2 つのタイムスタンプの差を返します。 |
day(expr) | 日付またはタイムスタンプの日部分を返します。 |
dayname(expr) | 指定した日付の曜日の 3 文字の英語頭字語を返します。 |
dayofmonth(expr) | 日付またはタイムスタンプの日部分を返します。 |
dayofweek(expr) | 日付またはタイムスタンプの曜日を返します。 |
dayofyear(expr) | 日付またはタイムスタンプの通算日を返します。 |
divisor div dividend | 間隔 divisor を間隔 dividend で除算した値の整数部を返します。 |
抽出(フィールドから ソースより) |
field の source を返します。 |
from_unixtime(unixTime,fmt) |
unixTime を fmt で返します。 |
from_utc_timestamp(expr,timezone) |
UTC でのタイムスタンプ expr に対応する timeZone のタイムスタンプを返します。 |
getdate() | クエリ評価の開始時点での現在のタイムスタンプを返します。 |
hour(expr) | タイムスタンプの時間コンポーネントを返します。 |
last_day(expr) | 日付が属する月の最後の日付を返します。 |
make_date(年,月,日) |
year 、month 、day の各フィールドから日付を作成します。 |
make_dt_interval([日数[, 時間[, 分[, 秒]]]]) | 日付と時刻の間隔を days 、hours 、mins 、secs から作成します。 |
make_interval(年, 月, 週, 日, 時間, 分, 秒) | 非推奨: years 、months 、weeks 、days 、hours 、mins 、secs から間隔を作成します。 |
make_timestamp(年,月,日,時間,分,秒[,タイムゾーン]) |
year 、month 、day 、hour 、min 、sec 、および timezone フィールドからタイムスタンプを作成します。 |
make_ym_interval([years[, months]]) |
years および months から年月の間隔を作成します。 |
minute(expr) |
expr におけるタイムスタンプの分の部分を返します。 |
month(expr) |
expr のタイムスタンプの月コンポーネントを返します。 |
months_between(expr1,expr2[,roundOff]) // 二つの日付の間の月数を計算する関数です。 |
expr1 と expr2 の日付またはタイムスタンプの間に経過した月数を返します。 |
next_day(expr,dayOfWeek) |
expr より後でdayOfWeek という名前が付けられた最初の日付を返します。 |
now() | クエリ評価の開始時点での現在のタイムスタンプを返します。 |
quarter(expr) |
expr の年の四半期を 1 から 4 の範囲で返します。 |
second(expr) |
expr のタイムスタンプの 2 番目のコンポーネントを返します。 |
session_window(expr, gpDuration) | タイムスタンプ式に基づいてセッション ウィンドウを作成します。 |
sign(expr) | 間隔 expr が負、0、正の場合に、それぞれ -1.0、0.0、1.0 を返します。 |
signum(expr) | 間隔 expr が負、0、正の場合に、それぞれ -1.0、0.0、1.0 を返します。 |
timediff(単位, 開始, 終了) |
unit で測定された 2 つのタイムスタンプの差を返します。 |
timestamp(expr) |
expr を TIMESTAMP にキャストします。 |
timestamp_micros(expr) は、タイムスタンプをマイクロ秒で表します。 | UTC エポック以降の expr マイクロ秒のタイムスタンプを作成します。 |
timestamp_millis(expr) - タイムスタンプをミリ秒に変換する関数 | UTC エポックからの時間を基準に、expr ミリ秒のタイムスタンプを作成します。 |
timestamp_seconds(expr) | UTC エポックからのタイムスタンプ expr (秒) を作成します。 |
timestampadd(unit, value, expr) 関数は、指定した単位(unit)、値(value)、および式(expr)に基づいて日時を計算します。 |
value
unit をタイムスタンプ expr に追加します。 |
タイムスタンプ差異(単位, 開始, 終了) |
unit で測定された 2 つのタイムスタンプの差を返します。 |
to_date(expr[,fmt]) | オプションの書式設定を使用して日付にキャストされた expr を返します。 |
to_timestamp(expr[,fmt]) | オプションの書式設定を使用してタイムスタンプにキャストされた expr を返します。 |
to_unix_timestamp(expr[,fmt]) |
expr 内のタイムスタンプを UNIX タイムスタンプとして返します。 |
to_utc_timestamp(expr,timezone) |
UTC でのタイムスタンプ expr に対応する timezone のタイムスタンプを返します。 |
trunc(expr, fmt) | 書式モデル fmt で指定された単位で切り詰められた日付の部分を含む日付を返します。 |
try_add(expr1, expr2) |
expr1 と expr2 の合計を返します。エラーが発生した場合は NULL を返します。 |
try_divide(除数,除数) |
dividend で割った divisor 、または divisor が 0 の場合は、NULL を返します。 |
try_multiply(乗数,多重度) |
multiplier によって乗算、またはオーバーフロー時に multiplicand によって乗算された NULL を返します。 |
try_subtract(expr1, expr2) |
expr2 から expr1 の減算、またはオーバーフロー時に NULL の減算を返します。 |
try_to_timestamp(expr[,fmt]) | オプションの書式設定を使用してタイムスタンプにキャストされた expr を返します。キャストが失敗した場合は NULL を返します。 |
unix_date(expr) |
1970-01-01 以降の日数を返します。 |
unix_micros(expr) |
1970-01-01 00:00:00 UTC 以降のマイクロ秒数を返します。 |
unix_millis(expr) |
1970-01-01 00:00:00 UTC 以降のミリ秒数を返します。 |
unix_seconds(expr) |
1970-01-01 00:00:00 UTC 以降の秒数を返します。 |
unix_timestamp([expr[, fmt]]) | 現在または指定された時間の UNIX タイムスタンプを返します。 |
weekday(expr) |
expr の曜日を返します。 |
weekofyear(expr)(年の第何週かを計算する関数) |
expr がその年の何週目であるかを返します。 |
year(expr) |
expr の年部分を返します。 |
window(expr, width[, step[, start]]) | タイムスタンプ式に基づいて、ホッピング ベースのスライディング ウィンドウを作成します。 |
ウィンドウ_タイム(ウィンドウ) | window または session_window 関数によって生成されるスライディング ウィンドウの包括的な終了時刻を返します。 |
H3 地理空間の関数
H3 地理空間関数の詳細については、「H3 地理空間関数」を参照してください。
キャスト関数とコンストラクター
型間のキャストについては、 cast
関数 と try_cast
関数を参照してください。
機能 | 説明 |
---|---|
array([expr [, ...]]) |
expr 内の要素を含む配列を返します。 |
bigint(expr) | 値 expr を BIGINT にキャストします。 |
binary(expr) |
expr の値を BINARY にキャストします。 |
boolean(expr) |
expr を BOOLEAN にキャストします。 |
cast(expr AS 型) |
expr の値をターゲット データ型 type にキャストします。 |
expr :: 型 |
expr の値をターゲット データ型 type にキャストします。 |
date(expr) | 値 expr を DATE にキャストします。 |
decimal(expr) | 値 expr を DECIMAL にキャストします。 |
double(expr) | 値 expr を DOUBLE にキャストします。 |
float(expr) | 値 expr を FLOAT にキャストします。 |
int(expr) | 値 expr を INTEGER にキャストします。 |
make_date(年,月,日) |
year 、month 、day の各フィールドから日付を作成します。 |
make_dt_interval([日数[, 時間[, 分[, 秒]]]]) | 日付と時刻の間隔を days 、hours 、mins 、secs から作成します。 |
make_interval(年, 月, 週, 日, 時間, 分, 秒) |
years 、months 、weeks 、days 、hours 、mins 、secs から間隔を作成します。 |
make_timestamp(年,月,日,時間,分,秒[,タイムゾーン]) |
year 、month 、day 、hour 、min 、sec 、および timezone フィールドからタイムスタンプを作成します。 |
make_ym_interval([years[, months]]) |
years および months から年月の間隔を作成します。 |
map([{key1, value1} [, ...]]) | 指定されたキーと値のペアを使用してマップを作成します。 |
named_struct({name1, val1} [, ...]) | 指定されたフィールド名と値を持つ構造体を作成します。 |
smallint(expr) | 値 expr を SMALLINT にキャストします。 |
string(expr) | 値 expr を STRING にキャストします。 |
struct(expr1 [, ...]) | 指定したフィールド値を持つ STRUCT を作成します。 |
tinyint(expr) |
expr を TINYINT にキャストします。 |
timestamp(expr) |
expr を TIMESTAMP にキャストします。 |
to_char(expr, fmt) |
expr の書式設定を使用して、STRING にキャストされた fmt を返します。 |
to_date(expr[,fmt]) | オプションの書式設定を使用して日付にキャストされた expr を返します。 |
to_number(expr, fmt) | 書式設定 expr を使用して DECIMA をfmt L にキャストして返します。 |
to_timestamp(expr[,fmt]) | オプションの書式設定を使用してタイムスタンプにキャストされた expr を返します。 |
to_varchar(expr, fmt) |
expr の書式設定を使用して、STRING にキャストされた fmt を返します。 |
try_cast(expr AS データ型) | 値 expr をターゲット データ型 type に安全にキャストします。 |
try_to_number(expr, fmt) 関数は、expr を指定した形式 fmt に従って数値に変換しようとします。 | 書式設定 expr を使用して DECIMAL にキャストされた fmt を返すか、NULL を返します (expr が有効でない場合)。 |
CSV 関数と Avro 関数
機能 | 説明 |
---|---|
from_avro(avroBin, jsonSchema[, options]) |
avroBin とjsonSchema に基づいて構造体の値を返します。 |
from_csv(csvStr, schema[, options]) |
csvStr と schema を含む構造体の値を返します。 |
schema_of_csv(csv[, options]) | DDL 形式の CSV 文字列のスキーマを返します。 |
to_avro(expr[, options]) | 指定した構造体値を持つ Avro バイナリ値を返します。 |
to_csv(expr[, options]) | 指定された構造体の値を持つ CSV 文字列を返します。 |
JSON 関数
機能 | 説明 |
---|---|
jsonStr : jsonPath |
jsonStr から抽出されたフィールドを返します。 |
from_json(jsonStr, schema[, options]) |
jsonStr と schema を含む構造体の値を返します。 |
get_json_object(expr, path) |
JSON から path オブジェクトを抽出します。 |
json_array_length(jsonArray) | 最も外側の JSON 配列の要素数を返します。 |
json_object_keys(jsonObject) | 最も外側の JSON オブジェクトのすべてのキーを配列として返します。 |
json_tuple(jsonStr, path1 [, ...]) | 複数の JSON オブジェクトをタプルとして返します。 |
parse_json(jsonStr) |
VARIANT から jsonStr 値を返します。 |
schema_of_json(jsonStr[, options]) |
JSON 文字列スキーマを DDL 形式で返します。 |
schema_of_json_agg(jsonStr[, options]) |
JSON 文字列をグループに結合したスキーマを DDL 形式で返します。 |
to_json(expr[, options]) |
STRUCT に指定された VARIANT または expr で JSON 文字列を返します。 |
VARIANT 関数
機能 | 説明 |
---|---|
variantExpr : jsonPath | JSON パスを使用して variantExpr から抽出されたフィールドを返します。 |
is_variant_null(variantExpr) |
variantExpr が VARIANT エンコードされた NULL かどうかをテストします。 |
parse_json(jsonStr) |
VARIANT から jsonStr 値を返します。 |
schema_of_variant(variantExpr) | DDL 形式の VARIANT 式のスキーマを返します。 |
schema_of_variant_agg(variantExpr) | すべての VARIANT 値をグループに結合したスキーマを DDL 形式で返します。 |
to_json(expr[, options]) |
STRUCT に指定された VARIANT または expr で JSON 文字列を返します。 |
try_parse_json(jsonStr) | 可能な場合に VARIANT から jsonStr 値を返します。 可能でない場合は、NULL が返されます。 |
try_variant_get(variantExpr,path,type) |
type で指定されている、variantExpr からの path 型の値を抽出するか、ターゲット型にキャストできない場合は NULL を抽出します。 |
variant_explode(入力) |
input の入れ子を解除することにより、一連の行を返します。 |
variant_explode_outer(入力) | 外部セマンティクスを使用し、input の入れ子を解除して行のセットを返します。 |
variant_get(variantExpr,path,type) |
type で指定された、variantExpr からの path 型の値を抽出します。 |
XPath および XML 関数
機能 | 説明 |
---|---|
from_xml(xmlStr, schema[, options]) |
xmlStr を使用して schema から解析された構造体の値を返します。 |
schema_of_xml(xmlStr[, options]) |
XML 文字列スキーマを DDL 形式で返します。 |
xpath(xml, xpath) |
xml と一致する xpath のノード内の値を返します。 |
xpath_boolean(xml, xpath) |
true 式が xpath と評価された場合、または true 内に一致するノードが見つかった場合は xml を返します。 |
xpath_double(xml, xpath) | XML ドキュメントからの DOUBLE 値を返します。 |
xpath_float(xml, xpath) | XML ドキュメントからの FLOAT 値を返します。 |
xpath_int(xml, xpath) | XML ドキュメントからの INTEGER 値を返します。 |
xpath_long(xml, xpath) | XML ドキュメントからの BIGINT 値を返します。 |
xpath_number(xml, xpath) | XML ドキュメントからの DOUBLE 値を返します。 |
xpath_short(xml, xpath) | XML ドキュメントからの SHORT 値を返します。 |
xpath_string(xml, xpath) | XPath 式と一致する最初の XML ノードの内容を返します。 |
AI 関数
機能 | 説明 |
---|---|
ai_analyze_sentiment(content)(コンテンツの感情分析を行うAI) | テキストのセンチメントを返します。 |
ai_classify(コンテンツ、ラベル) | 指定されたコンテンツを、指定されたラベルのいずれかに分類します。 |
ai_extract(コンテンツ、ラベル) | 特定のテキストからラベルで指定されたエンティティを抽出します。 |
ai_fix_grammar(コンテンツ) | 特定のテキストの文法エラーを修正します。 |
ai_forecast(observed, time_col) | 時系列データを未来へ外挿します。 |
ai_gen(コンテンツ) | Databricks Foundation Model API から最先端の生成 AI モデルを呼び出して、ユーザーが指定したプロンプトに応答します。 |
ai_generate_text(prompt, modelName[, param1, value1] [...]) | 非推奨: 与えられたプロンプトに応じて、選択した大規模言語モデル (LLM) で生成されたテキストを返します。 |
ai_mask(コンテンツ、ラベル) | 特定のテキスト内の指定されたエンティティをマスクします。 |
ai_query(endpointName, request, returnType) | 既存の Mosaic AI Model Serving エンドポイントを呼び出し、その応答を解析して返します。 |
ai_similarity(strExpr1, strExpr2) | 2 つの文字列を比較し、セマンティック類似性スコアを計算します。 |
ai_summarize(content[, max_words]) | 特定のテキストの概要を生成します。 |
ai_translate(コンテンツを翻訳する,to_lang) | 指定したターゲット言語にテキストを翻訳します。 |
vector_search(インデックス、クエリ、num_results) | SQL を使用して Mosaic AI Vector Search インデックスに対してクエリを実行します。 |
読み取り関数
機能 | 説明 |
---|---|
read_files(path, [optionKey => optionValue] [, ...]) | クラウド ストレージ上のデータ ファイルを読み取り、表形式で返します。 |
read_kafka([optionKey => optionValue] [, ...]) | Apache Kafka クラスターからレコードを読み取り、表形式で返します。 |
read_kinesis({parameter => value} [, ・・・]) | 1 つ以上のストリームの Kinesis から読み取られたレコードを含むテーブルを返します。 |
read_pubsub([parameter => value] [, ...]) | トピックの Pub/Sub からレコードを読み取るためのテーブル値関数。 |
read_pulsar({optionKey => optionValue} [, ...]) | Pulsar から読み取られたレコードを含むテーブルを返します。 |
read_state_metadata(パス) | ストリーミング クエリ状態のメタデータを表す行を含むテーブルを返します。 |
read_statestore(path [, option_key => option_value] [...]) | ストリーミング クエリの状態ストアからレコードを返します。 |
その他の関数
機能 | 説明 |
---|---|
assert_true(expr) |
expr が true ではない場合、エラーを返します。 |
CASE 式 { WHEN 条件1 THEN 結果1 } [...] [ELSE def]終了 |
resN と等しい最初の optN に対して expr を返します。または、何も一致しない場合は、def を返します。 |
CASE { WHEN cond1 THEN res1 } [...] [ELSE def]終了 | true に評価される最初の resN に対して condN を返します。または、何も見つからない場合は、def を返します。 |
cloud_files_state( { TABLE(table) | checkpoint } ) | オートローダーの cloud_files ソースのファイル レベルでの状態を返します。 |
coalesce(expr1, expr2 [, ...]) | 最初の null 以外の引数を返します。 |
collations() | 使用可能な照合順序の一覧を返します。 |
cube (expr1 [, ...]) | 指定された式列を使用して多次元キューブを作成します。 |
current_catalog() | 現在のカタログを返します。 |
current_database() | 現在のスキーマを返します。 |
current_metastore() | 現在の Unity Catalog メタストア ID を返します。 |
current_recipient(キー) | Delta Sharing で共有されているビューの現在の受信者のプロパティを返します。 |
current_schema() | 現在のスキーマを返します。 |
current_user() | ステートメントを実行しているユーザーを返します。 |
current_version() | Azure Databricks の現在のバージョンを返します。 |
decode(expr, { key, value } [, ...][,defValue]) | キーに一致する値を返します。 |
elt(index, expr1 [, ...] ) | N 番目の式を返します。 |
equal_null(expr1, expr2) |
true が expr1 と等しい場合、または両方の式が expr2 の場合は NULL 、それ以外の場合は false を返します。 |
event_log( { TABLE(table) | pipeline_id } ) | 具体化されたビュー、ストリーミング テーブル、またはパイプラインの更新履歴のテーブルを返します。 |
greatest(expr1, expr2 [, ...]) | すべての引数のうちで、Null 値をスキップして、最大値を返します。 |
grouping(col) |
GROUPING SET 、ROLLUP 、または CUBE の指定した列が小計を表すかどうかを示します。 |
grouping_id([col1 [, ...]]) | 列のセットに関するグループ化のレベルを返します。 |
hash(expr1 [, ...]) | 引数のハッシュ値を返します。 |
hll_sketch_estimate(expr) | HyperLogLog スケッチに収集された個別の値の数を見積もります。 |
hll_union(expr1, expr2 [,allowDifferentLgConfigK]) | 2 つの HyperLogLog スケッチを結合します。 |
http_request({parm => expr} [, ...]) | 定義された HTTP 接続を使用して HTTP 要求を行います。 |
java_method(class, method[, arg1 [, ...]]) | リフレクションを使用してメソッドを呼び出します。 |
if(cond, expr1, expr2) |
expr1 が cond の場合は true を返します。それ以外の場合は expr2 を返します。 |
「条件が真の場合に式1を返し、偽の場合に式2を返します:iff(cond, expr1, expr2)」 |
expr1 が cond の場合は true を返します。それ以外の場合は expr2 を返します。 |
ifnull(expr1, expr2) |
expr2 が expr1 の場合は NULL を返します。それ以外の場合は expr1 を返します。 |
input_file_block_length() | 読み取り中のブロックの長さをバイト単位で返します。 |
入力ファイルブロック開始() | 読み取り中のブロックの開始オフセットをバイト単位で返します。 |
input_file_name() | 読み取り中のファイルの名前を返します。情報が得られない場合は、空の文字列を返します。 |
is_account_group_member(グループ) | 現在のユーザーがアカウント レベルでグループのメンバーである場合に true を返します。 |
is_member(グループ) | 現在のユーザーがワークスペース レベルでグループのメンバーである場合に true を返します。 |
isnull(expr) |
true が expr である場合、NULL を返します。 |
isnotnull(expr) |
true が expr でない場合、NULL を返します。 |
least(expr1, expr2 [, ...]) | すべての引数のうちで、Null 値をスキップして、最小値を返します。 |
list_secrets([scopeStr]) | Databricks シークレット サービスから、ユーザーが閲覧を許可されているすべてまたは 1 つのスコープ内のキーを返します。 |
luhn_check(numStr) |
true が numStr チェックに合格した場合は を返します。 |
monotonically_increasing_id() | 単調に増加する 64 ビットの整数を返します。 |
nullif(expr1, expr2) |
NULL が expr1 と等しい場合は expr2 を返し、それ以外の場合は expr1 を返します。 |
nvl(expr1, expr2) |
expr2 が expr1 の場合は NULL を返します。それ以外の場合は expr1 を返します。 |
nvl2(expr1, expr2, expr3) |
expr2 が expr1 でない場合は NULL を返します。それ以外の場合は expr3 を返します。 |
エラーを発生させる(expr) |
expr をメッセージとした例外をスローします。 |
範囲(終了) | 指定した範囲内の値のテーブルを返します。 |
range(start, end [, step [, numParts]) | 指定した範囲内の値のテーブルを返します。 |
reflect(class, method[, arg1 [, ...]]) | リフレクションを使用してメソッドを呼び出します。 |
secret(scope, key) |
scope から、指定された key と のシークレット値を抽出します。 |
session_user() | Azure Databricks に接続されているユーザーを返します。 |
spark_partition_id() | 現在のパーティション ID を返します。 |
sql_keywords() | Azure Databricks の SQL キーワード セットを返します。 |
stack(numRows, expr1 [, ...]) |
expr1 , …, exprN を numRows 行に分割します。 |
table_changes(table_str, start [, end]) | 変更データ フィードが有効になっている Delta Lake テーブルに対する変更のログを返します。 |
try_reflect(class, method[, arg1 [, ...]]) | リフレクションを使用してメソッドを呼び出し、メソッドが失敗した場合は NULL を返します。 |
try_secret(スコープ、キー) | 指定された scope と key を持つシークレット値を Databricks シークレット サービスから抽出します。または、キーを取得できない場合は NULL 。 |
typeof(expr) |
expr のデータ型の型文字列を DDL 形式で返します。 |
user() | ステートメントを実行しているユーザーを返します。 |
uuid() | グローバル一意識別子 (UUID) 文字列を返します。 |
window(expr, width[, step [, start]]) | タイムスタンプ式に基づいて、ホッピング ベースのスライディング ウィンドウを作成します。 |
xxhash64(expr1 [, ...]) | 引数の 64 ビット ハッシュ値を返します。 |
version() | Apache Spark のバージョンを返します。 |