組み込み関数
適用対象: Databricks SQL Databricks Runtime
この記事では、文字列、バイナリ型、数値スカラー、集計、ウィンドウ、配列、マップ、日付とタイムスタンプ、キャスト、CSV データ、JSON データ、XPath 操作、その他多岐にわたる関数の、組み込み演算子と関数へのリンクと説明を紹介します。
既存の組み込み関数でサポートされていないユース ケースの場合は、カスタム関数を定義することを検討してください。 「ユーザー定義関数 (UDF) とは」を参照してください。
こちらもご覧ください。
演算子と述語
演算子が互いに対してどのように解析されるのかについては、「演算子の優先順位」を参照してください。
Operator | 構文 | 説明 |
---|---|---|
& | expr1 & expr2 |
expr1 と expr2 のビット単位の AND を返します。 |
、 | expr1 and expr2 |
expr1 と expr2 の論理 AND を返します。 |
* | multiplier * multiplicand |
multiplier に multiplicand を乗算したものを返します。 |
!= | expr1 != expr2 |
expr1 が expr2 と等しくない場合、true を返します。それ以外の場合、false を返します。 |
! | !expr |
ブール式の論理 NOT を返します。 |
between | expr1 [not] between expr2 and expr2 |
expr1 が expr2 以上で expr3 以下であるかどうかをテストします。 |
[ ] | arrayExpr [ indexExpr ] |
ARRAY arrayExpr の indexExpr 番目の要素を返します |
[ ] | mapExpr [ keyExpr ] |
MAP mapExpr の keyExpr の値を返します。 |
^ | expr1 ^ expr2 |
expr1 と expr2 のビット単位の排他的 OR (XOR) を返します。 |
: | jsonStr : jsonPath |
jsonStr から抽出されたフィールドを返します。 |
:: | expr :: type |
expr の値をターゲット データ型 type にキャストします。 |
?:: | expr ?:: type |
可能であれば、 expr 値をターゲット データ型 type にキャストし、それ以外の場合 NULL 返します。 |
div | dividend div divisor |
divisor による dividend の除算の整数部分を返します。 |
. | mapExpr . keyIdentifier |
keyIdentifier ごとの MAP 値を返します。 |
. | structExpr . fieldIdentifier |
fieldIdentifier ごとの STRUCT フィールドを返します。 |
== | expr1 == expr2 |
expr1 が expr2 と等しい場合は true を返し、それ以外の場合は false を返します。 |
= | expr1 = expr2 |
expr1 が expr2 と等しい場合は true を返し、それ以外の場合は false を返します。 |
>= | expr1 >= expr2 |
expr1 が expr2 以上の場合は true を返し、それ以外の場合は false を返します。 |
> | expr1 > expr2 |
expr1 が expr2 より大きい場合は true 、それ以外の場合は false を返します。 |
exists | exists(query) |
query が 1 つ以上の行を返す場合は true を返し、それ以外の場合は false を返します。 |
ilike | str [not] ilike (pattern[ESCAPE escape]) |
大文字と小文字の区別なしに str が escape を含む pattern に一致しない場合は、true を返します。 |
ilike | str [not] ilike {ANY\|SOME\|ALL}([pattern[, ...]]) |
大文字と小文字の区別なしに str が any/all パターンに一致しない場合は、true を返します。 |
in | elem [not] in (expr1[, ...]) |
elem が exprN と等しくない場合は、true を返します。 |
in | elem [not] in (query) |
elem が query 内にある行と等しくない場合は、true を返します。 |
is distinct | expr1 is [not] distinct from expr2 |
NULL が比較可能な値と見なされる場合に、引数に異なる値が含まれていないかどうかをテストします。 |
is false | expr is [not] false |
expr が false ではないかどうかをテストします。 |
is null | expr is [not] null |
expr が NULL である (ない) 場合、true を返します。 |
is true | expr is [not] true |
expr が true ではないかどうかをテストします。 |
like | str [not] like (pattern[ESCAPE escape]) |
str が escape を含む pattern に一致しない場合は、true を返します。 |
like | str [not] like {ANY\|SOME\|ALL}([pattern[, ...]]) |
str が any/all パターンに一致しない場合は、true を返します。 |
<=> | expr1 <=> expr2 |
null 以外のオペランドの場合は EQUAL(=) と同じ結果を返しますが、両方が NULL の場合は true を返し、一方が NULL の場合は false を返します。 |
<= | expr1 <= expr2 |
expr1 が expr2 以下の場合は true 、そうでない場合は false を返します。 |
<> | expr1 <> expr2 |
expr1 が expr2 と等しくない場合は、true を返します。それ以外の場合は、false を返します。 |
< | expr1 < expr2 |
expr1 が expr2 より小さい場合は true を返し、そうでない場合は false を返します。 |
- | expr1 - expr2 |
expr1 からの expr2 の減算を返します。 |
not | not expr |
ブール式の論理 NOT を返します。 |
or | expr1 or expr2 |
expr1 と expr2 の論理 OR を返します。 |
% | dividend % divisor |
dividend / divisor 後の剰余を返します。 |
|| | expr1 \|\| expr2 |
expr1 と expr2 の連結を返します。 |
| | expr1 \| expr2 |
expr1 と expr2 のビット単位の OR を返します。 |
+ | 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 |
expr のビット演算子 NOT を返します。 |
演算子の優先順位
優先順位 | 演算子 |
---|---|
1 | : 、 :: 、 ?:: 、 [ ] |
2 | - (unary), + (unary), ~ |
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 |
文字列関数とバイナリ関数
Function | 説明 |
---|---|
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) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
character_length(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
charindex(substr, str[, pos]) | pos の位置の後に str で最初に見つかった substr の位置を返します。 |
chr(expr) | 指定された UTF-16 コード ポイントの文字を返します。 |
concat(expr1, expr2[, …]) | 引数を連結して返します。 |
concat_ws(sep[, expr1[, …]]) | sep で区切られた連結文字列を返します。 |
contains(expr, subExpr) | expr STRING または BINARY に subExpr が含まれている場合は true を返します。 |
crc32(expr) | expr の巡回冗長検査値を返します。 |
decode(expr, charSet) | 文字セット エンコード charSet を使用して、バイナリ expr を文字列に変換します。 |
encode(expr, charSet) | charSet 文字エンコードを使用して、文字列のバイナリ表現を返します。 |
endswith(expr, endExpr) | expr STRING または BINARY が endExpr で終わる場合は true を返します。 |
find_in_set(searchExpr, sourceExpr) | 文字列のコンマ区切りリスト内の文字列の位置を返します。 |
format_number(expr, scale) | expr を #,###,###.## のように書式設定します。小数点以下 scale 桁に丸められます。 |
format_number(expr, fmt) | expr を fmt のように書式設定します。 |
format_string(strfmt[, obj1 [, …]]) | printf 形式の書式指定文字列から書式設定された文字列を返します。 |
hex(expr) | expr を 16 進数に変換します。 |
str ilike (pattern[ESCAPE escape]) | escape の大文字と小文字を区別せずに str が pattern と一致する場合は、true を返します。 |
initcap(expr) | 各単語の先頭文字を大文字にして expr を返します。 |
instr(str, substr) | str 内で substr が最初に出現する位置の、(1 から始まる) インデックスを返します。 |
lcase(expr) | すべての文字が小文字に変更された expr を返します。 |
left(str, len) | str の左端の len 文字を返します。 |
len(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
length(expr) | 文字列データの文字長またはバイナリ データのバイト数を返します。 |
levenshtein(str1, str2) | 文字列 str1 と str2 の間の Levenshtein 距離を返します。 |
str like (pattern[ESCAPE escape]) | str が escape を指定した pattern と一致する場合は true を返します。 |
locate(substr, str[, pos]) | pos の位置の後に str で最初に見つかった substr の位置を返します。 |
lower(expr) | すべての文字が小文字に変更された expr を返します。 |
lpad(expr, len[, pad]) | len の長さになるまで、左側に pad が埋め込まれた expr を返します。 |
ltrim([trimstr,] str) | trimStr 内の先頭文字が削除された str を返します。 |
mask(str[, upperChar[, lowerChar[, digitChar[, otherChar]]]]) | 入力 str のマスクされたバージョンを返します。 |
md5(expr) | 16 進数文字列として expr の MD5 128 ビット チェックサムを返します。 |
octet_length(expr) | 文字列データのバイト長またはバイナリ データのバイト数を返します。 |
overlay(input PLACING replace FROM pos [FOR len]) | input は、pos で始まり長さが len である replace に置き換えられます。 |
parse_url(url, partToExtract[, key]) | url からパーツを抽出します。 |
position(substr, str[, pos]) | pos の位置の後に str で最初に見つかった substr の位置を返します。 |
position(subtr IN str) | pos の位置の後に str で最初に見つかった substr の位置を返します。 |
printf(strfmt[, obj1 [, …]]) | printf 形式の書式指定文字列から書式設定された文字列を返します。 |
str regexp regex | str が regex と一致する場合に true を返します。 |
str regexp_like regex | str が regex と一致する場合に true を返します。 |
regexp_count(str, regexp) | str が regexp パターンと一致する回数を返します。 |
regexp_extract(str, regexp[, idx]) | regexp 式に一致し、regex グループ インデックスに対応する、str 内の最初の文字列を抽出します。 |
regexp_extract_all(str, regexp[, idx]) | regexp 式に一致し、regex グループ インデックスに対応する str 内のすべての文字列を抽出します。 |
regexp_instr(str, regexp) | str の中で最初に regexp と一致する部分文字列の位置を返します。 |
regexp_replace(str, regexp, rep[, position]) | regexp と一致する str のすべての部分文字列を rep に置き換えます。 |
regexp_substr(str, regexp) | str の中で最初に regexp と一致する部分文字列を返します。 |
repeat(expr, n) | expr を n 回繰り返す文字列を返します。 |
replace(str, search [, replace]) | 出現するすべての search を replace で置き換えます。 |
reverse(expr) | 反転された文字列または要素が逆順になった配列を返します。 |
right(str, len) | 文字列 str の右端の len 文字を返します。 |
str rlike regex | str が regex と一致する場合に true を返します。 |
rpad(expr, len[, pad]) | len の長さになるまで右側に pad が埋め込まれた expr を返します。 |
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]) | regex に一致する出現箇所に関する str を分割し、最大で limit の長さの配列を返します。 |
split_part(str, delim, partNum) | delim の出現場所を囲むように str を分割し、partNum パーツを返します。 |
startswith(expr, startExpr) | expr STRING または BINARY が startExpr で始まる場合は true を返します。 |
string(expr) | 値 expr を STRING にキャストします。 |
substr(expr, pos[, len]) | pos から始まり、長さが len である expr の部分文字列を返します。 |
substr(expr FROM pos[ FOR len]) | pos から始まり、長さが len である expr の部分文字列を返します。 |
substring(expr, pos[, len]) | pos から始まり、長さが len である expr の部分文字列を返します。 |
substring(expr FROM pos[ FOR len]) | pos から始まり、長さが len である expr の部分文字列を返します。 |
substring_index(expr, delim, count) | 区切り記号 delim が count 回出現する前の expr の部分文字列を返します。 |
to_binary(expr[, fmt]) | fmt に基づいてバイナリにキャストされた expr を返します。 |
to_char(numExpr, fmt) | fmt の書式設定を使用して、STRING にキャストされた numExpr を返します。 |
to_varchar(numExpr, fmt) | fmt の書式設定を使用して、STRING にキャストされた numExpr を返します。 |
translate(expr, from, to) | from 内のすべての文字が to 内の文字に置き換えられている場合に expr を返します。 |
trim([[BOTH | LEADING | TRAILING] [trimStr] FROM] str) | 文字列から文字をトリミングします。 |
try_aes_decrypt(expr, key[, mode[, padding[, aad]]]) | AES 暗号化を使用してバイナリ expr を復号化し、エラーが発生した場合は NULL を返します。 |
try_to_binary(expr [, fmt]) | fmt に基づいて BINARY にキャストされた expr を返します。入力が無効な場合は NULL を返します。 |
try_url_decode(str) | 文字列を application/x-www-form-urlencoded 形式から変換し直し、エラーの場合には NULL を返します。 |
try_zstd_decompress(value) | 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(value) | Zstandard 圧縮で圧縮展開された値を返します。 |
数値スカラー関数
Function | 説明 |
---|---|
~ expr | expr のビット演算子 NOT を返します。 |
dividend / divisor | dividend を divisor で除算して返します。 |
expr1 | expr2 | expr1 と expr2 のビット単位の OR を返します。 |
- expr | expr の否定値を返します。 |
expr1 - expr2 | expr1 からの expr2 の減算を返します。 |
+ expr | expr の値を返します。 |
expr1 + expr2 | expr1 と expr2 の合計を返します。 |
dividend % divisor | dividend / divisor 後の剰余を返します。 |
expr1 ^ expr2 | expr1 と expr2 のビット単位の排他的 OR (XOR) を返します。 |
expr1 & expr2 | expr1 と expr2 のビット単位の AND を返します。 |
multiplier * multiplicand | 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 から始まるビット位置を返します。 |
bitmap_bucket_number(expr) | 指定された BIGINT 数のビットマップ バケット番号を返します。 |
bround(expr[,targetScale]) | HALF_EVEN 丸めモードを使用して丸められた expr を返します。 |
cbrt(expr) | expr の立方根を返します。 |
ceil(expr[,targetScale]) | 小数点に対して targetScale 桁まで丸められた expr よりは小さくない最小数を返します。 |
ceiling(expr[,targetScale]) | 小数点に対して targetScale 桁まで丸められた expr よりは小さくない最小数を返します。 |
conv(num, fromBase, toBase) | num を fromBase から toBase に変換します。 |
convert_timezone([sourceTz, ]targetTz, sourceTs) | TIMESTAMP_NTZ sourceTs を sourceTz タイム ゾーンから targetTz に変換します。 |
cos(expr) | expr のコサインを返します。 |
cosh(expr) | expr の双曲線コサインを返します。 |
cot(expr) | expr のコタンジェントを返します。 |
csc(expr) | expr のコセカントを返します。 |
decimal(expr) | 値 expr を DECIMAL にキャストします。 |
degrees(expr) | ラジアンを角度に変換します。 |
divisor div dividend | dividend による divisor の除算の整数部分を返します。 |
double(expr) | 値 expr を DOUBLE にキャストします。 |
e() | 定数 e を返します。 |
exp(expr) | expr 乗した e を返します。 |
expm1(expr) | exp(expr) - 1 が返されます。 |
factorial(expr) | expr の階乗を返します。 |
float(expr) | 値 expr を FLOAT にキャストします。 |
floor(expr[,targetScale]) | 小数点に対して targetScale 桁まで丸められた expr よりは小さくない最大数を返します。 |
getbit(expr, pos) | ビットの値を整数数値のバイナリ表現で返します。 |
hypot(expr1, expr2) | sqrt(expr1 * expr1 + expr2 * expr2) が返されます。 |
int(expr) | 値 expr を INTEGER にキャストします。 |
isnan(expr) | expr が NaN である場合、true を返します。 |
ln(expr) | expr の自然対数 (基数 e ) を返します。 |
log([base,] expr) | base を指定して expr の対数を返します。 |
log1p(expr) | log(1 + expr) が返されます。 |
log2(expr) | 2 を底とする expr の対数を返します。 |
log10(expr) | 10 を底とする expr の対数を返します。 |
mod(dividend, divisor) | dividend / divisor 後の剰余を返します。 |
nanvl(expr1, expr2) | NaN でない場合は、expr1 を返します。それ以外の場合は、expr2 を返します。 |
negative(expr) | expr の否定値を返します。 |
'nullifzero(expr)' | 0 でない場合は expr を返し、それ以外の場合は NULL 返します。 |
pi() | pi を返します。 |
pmod(dividend, divisor) | dividend / divisor 後の正の剰余を返します。 |
positive(expr) | expr の値を返します。 |
pow(expr1, expr2) | expr1 が expr2 の累乗になります。 |
power(expr1, expr2) | expr1 が expr2 の累乗になります。 |
radians(expr) | 角度の expr をラジアンに変換します。 |
rand([seed]) | 0 から 1 のランダムな値を返します。 |
randn([seed]) | 標準正規分布からランダムな値を返します。 |
random([seed]) | 0 から 1 のランダムな値を返します。 |
rint(expr) | expr を整数に丸めて DOUBLE として返します。 |
round(expr[,targetScale]) | HALF_UP 丸めモードを使用して丸められた expr を返します。 |
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) | fmt の書式設定を使用して、DECIMAL にキャストされた expr を返します。 |
try_add(expr1, expr2) | expr1 と expr2 の合計を返します。エラーの場合は NULL を返します。 |
try_divide(dividend, divisor) | divisor で除算された dividend を返します。divisor が 0 の場合は NULL を返します。 |
try_mod(dividend, divisor) | dividend / divisor 後の剰余を返します。divisor が 0 の場合は NULL を返します。 |
try_multiply(multiplier, multiplicand) | multiplicand によって乗算、またはオーバーフロー時に NULL によって乗算された multiplier を返します。 |
try_subtract(expr1, expr2) | expr1 から expr2 の減算、またはオーバーフロー時に NULL の減算を返します。 |
try_to_number(expr, fmt ) | 書式設定 fmt を使用して DECIMAL にキャストされた expr を返します。expr が書式と一致しない場合は NULL を返します。 |
width_bucket(expr, minExpr, maxExpr, numBuckets) | 等幅ヒストグラム内の値のバケット番号を返します。 |
'zeroifnull(expr)' | NULL されていない場合はexpr を返し、それ以外の場合は0 返します。 |
集計関数
Function | 説明 |
---|---|
any(expr) | グループ内の expr の少なくとも 1 つの値が true の場合に true を返します。 |
any_value(expr[,ignoreNull]) | 行のグループの expr 値を返します。 |
approx_count_distinct(expr[,relativeSD]) | expr でグループ内の個別の値の推定数を返します。 |
approx_percentile(expr,percentage[,accuracy]) | グループ内の expr の近似パーセンタイルを返します。 |
approx_top_k(expr[,k[,maxItemsTracked]]) | expr 内で最も頻繁に出現する項目値の上位 k 個を概算数と共に返します。 |
array_agg(expr) | グループ内の expr のすべての値で構成される配列を返します。 |
avg(expr) | グループの値から計算された平均を返します。 |
bit_and(expr) | グループ内のすべての入力値のビットごとの AND を返します。 |
bit_or(expr) | グループ内のすべての入力値のビットごとの OR を返します。 |
bit_xor(expr) | グループ内のすべての入力値のビットごとの XOR を返します。 |
bitmap_construct_agg(expr) | グループ内のすべてのビット位置の値に対するビット演算 (OR ) を返します。 グループ内は 0 から 32767 の間の BINARY です。 |
bitmap_or_agg(expr) | グループ内のすべての BINARY 入力値のビット演算 (OR ) を返します。 |
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) | epsilon 、confidence および seed を使用して、column のグループ内のすべての値のカウント最小のスケッチを返します。 |
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) | numBins ビンで expr のヒストグラムを計算し、ビンの中心を表すペアの配列を返します。 |
hll_sketch_agg(expr[,lgConfigK]) | 個別の値の数を概算するために使用される HyperLogLog スケッチを返します。 |
hll_union_agg(expr[,allowDifferentLgConfigK]) | 行のグループの HyperLogLog スケッチを集計します。 |
kurtosis(expr) | グループの値から計算された尖度値を返します。 |
last(expr[,ignoreNull]) | 行のグループの expr の最後の値を返します。 |
last_value(expr[,ignoreNull]) | 行のグループの expr の最後の値を返します。 |
max(expr) | グループ内の expr の最大値を返します。 |
max_by(expr1,expr2) | グループ内の expr2 の最大値に関連付けられている expr1 値を返します。 |
mean(expr) | グループの値から計算された平均を返します。 |
median(expr) | グループの値から計算された中央値を返します。 |
min(expr) | グループ内の expr の最小値を返します。 |
min_by(expr1, expr2) | グループ内の expr2 の最小値に関連付けられている expr1 の値を返します。 |
mode(expr [,deterministic]) | グループ内の最も頻度の高い、NULL でない expr の値を返します。 |
percentile(expr, percentage [,frequency]) | 指定した percentage での expr の正確なパーセント値を返します。 |
percentile_approx(expr,percentage[,accuracy]) | グループ内の expr の近似パーセンタイルを返します。 |
percentile_cont(pct) WITHIN GROUP (ORDER BY key) | グループ内の key の補間されたパーセントを返します。 |
percentile_disc(pct) WITHIN GROUP (ORDER BY key) | グループ内の key の離散パーセンタイルを返します。 |
regr_avgx(yExpr, xExpr) | xExpr と yExpr が NOT NULL であるグループの値から計算された xExpr の平均を返します。 |
regr_avgy(yExpr, xExpr) | xExpr と yExpr が NOT NULL であるグループの値から計算された yExpr の平均を返します。 |
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 および yExpr が NULL ではないグループの xExpr 値の平方和を返します。 |
regr_sxy(yExpr, xExpr) | xExpr および yExpr が NOT NULL であるグループの値から計算される yExpr と xExpr の積の和を返します。 |
regr_syy(yExpr, xExpr) | xExpr および yExpr が NULL ではないグループの yExpr 値の平方和を返します。 |
schema_of_json_agg(json[, options]) | JSON 文字列をグループに結合したスキーマを DDL 形式で返します。 |
schema_of_variant_agg(variantExpr) | すべての VARIANT 値をグループに結合したスキーマを DDL 形式で返します。 |
skewness(expr) | グループの値から計算された歪度値を返します。 |
some(expr) | グループ内の expr の少なくとも 1 つの値が true である場合に、true を返します。 |
std(expr) | グループ内の値から計算されたサンプル標準偏差を返します。 |
stddev(expr) | グループ内の値から計算されたサンプル標準偏差を返します。 |
stddev_pop(expr) | グループの値から計算された母標準偏差を返します。 |
stddev_samp(expr) | グループの値から計算されたサンプル標準偏差を返します。 |
sum(expr) | グループの値から計算された合計を返します。 |
try_avg(expr) | グループの値から計算された平均を返します。オーバーフローがある場合は NULL を返します。 |
try_sum(expr) | グループの値から計算された合計を返します。オーバーフローがある場合は NULL を返します。 |
var_pop(expr) | グループの値から計算された母集団分散を返します。 |
var_samp(expr) | グループの値から計算されたサンプル分散を返します。 |
variance(expr) | グループの値から計算されたサンプル分散を返します。 |
順位付け関数。
Function | 説明 |
---|---|
dense_rank() | パーティション内のすべての値と比較した値の順位を返します。 |
ntile(n) | 各ウィンドウ パーティションの行を 集計関数 バケット (1 から最大 n の範囲) に分割します。 |
percent_rank() | パーティション内の値のパーセンテージ順位を計算します。 |
rank() | パーティション内のすべての値と比較した値の順位を返します。 |
row_number() | ウィンドウ パーティション内の行の順序に従って、各行に 1 から始まる一意の連続する番号を割り当てます。 |
分析ウィンドウ関数
Function | 説明 |
---|---|
cume_dist() | パーティション内のすべての値に対する相対的な値の位置を返します。 |
lag(expr[,offset[,default]]) | パーティション内の前の行から expr の値を返します。 |
lead(expr[,offset[,default]]) | パーティション内の後続の行から expr の値を返します。 |
nth_value(expr, offset[, ignoreNulls]) | ウィンドウ内の特定の offset にある expr の値を返します。 |
配列関数
Function | 説明 |
---|---|
arrayExpr[indexExpr] | ARRAY arrayExpr の位置 indexExpr にある要素を返します。 |
aggregate(expr,start,merge[,finish]) | カスタム アグリゲーターを使用して、配列内の要素を集計します。 |
array([expr [, …]]) | expr 内の要素を含む配列を返します。 |
array_append(array, elem) | elem を追加した array を返します。 |
array_compact(array) | array から NULL 値を削除します。 |
array_contains(array,value) | array が value を含む場合は true を返します。 |
array_distinct(array) | array から重複する値を削除します。 |
array_except(array1,array2) | array1 内の要素の配列を返しますが、array2 内のものは返しません。 |
array_insert(array, index, elem) | index の位置に elem を挿入して拡張された array を返します。 |
array_intersect(array1,array2) | array1 と array2 の共通部分にある要素の配列を返します。 |
array_join(array,delimiter[,nullReplacement]) | array の要素を連結します。 |
array_max(array) | array 内の最大値を返します。 |
array_min(array) | array 内の最小値を返します。 |
array_position(array,element) | array で最初に見つかった element の位置を返します。 |
array_prepend(array, elem) | 先頭に elem が追加された array を返します。 |
array_remove(array,element) | 出現するすべての element を array から削除します。 |
array_repeat(element,count) | element が count 回含まれる配列を返します。 |
array_size(array) | array 内の要素数を返します。 |
array_sort(array,func) | func に従って並べ替えられた array を返します。 |
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) | index の arrayExpr の要素を返します。 |
exists(expr, pred) | expr 内の任意の要素に対して pred が true の場合は true を返します。 |
explode(collection) | collection の入れ子を解除することにより、行を返します。 |
explode_outer(collection) | 外部セマンティクスを使用して入れ子を解除した collection により、行を返します。 |
filter(expr,func) | 関数 func を使用して、expr 内の配列をフィルター処理します。 |
flatten(arrayOfArrays) | 複数の配列内の配列を単一の配列に変換します。 |
forall(expr, predFunc) | 配列内のすべての要素に対して predFunc が有効かどうかをテストします。 |
get(arrayExpr, index) | index にある arrayExpr の要素を、0 を始めとして返します。 |
inline(expr) | 構造体の配列をテーブルに展開します。 |
inline_outer(expr) | 構造体の配列を、外部セマンティクスを持つテーブルに分解します。 |
posexplode(expr) | 位置の番号付けで配列の入れ子を解除することにより、行を返します。 |
posexplode_outer(expr) | OUTER セマンティクスを使用した位置の番号付けで配列の入れ子を解除することにより、行を返します。 |
reduce(expr,start,merge[,finish]) | カスタム アグリゲーターを使用して、配列内の要素を集計します。 |
reverse(array) | 反転された文字列または要素が逆順になった配列を返します。 |
sequence(start,stop,step) | start から stop まで (両端を含む) の要素の配列を生成し、step でインクリメントします。 |
shuffle(array) | expr 内の配列のランダムな順列を返します。 |
size(expr) | expr のカーディナリティを返します。 |
slice(expr,start,length) | 配列のサブセットを返します。 |
sort_array(expr[,ascendingOrder]) | expr の配列を並べ替え順序で返します。 |
transform(expr, func) | 関数 func を使用して、expr の配列内の要素を変換します。 |
try_element_at(arrayExpr, index) | index にある arrayExpr の要素を、index が範囲外の場合は NULL を返します。 |
zip_with(expr1, expr2, func) | func を使用して、expr1 と expr2 の配列を要素ごとに 1 つの配列にマージします。 |
マップ関数
Function | 説明 |
---|---|
mapExpr[keyExpr] | MAP mapExpr の keyExpr の値を返します。 |
cardinality(expr) | expr のサイズを返します。 |
element_at(mapExpr, key) | key の mapExpr の値を返します。 |
explode(expr) | expr の入れ子を解除することにより、行を返します。 |
explode_outer(expr) | 外部セマンティクスを使用して入れ子を解除した expr により、行を返します。 |
map([{key1, value1}[, …]]) | 指定されたキーと値のペアを使用してマップを作成します。 |
map_concat([expr1 [, …]]) | すべての expr のマップ式の和集合を返します。 |
map_contains_key(map, key) | map に key が含まれている場合には true を、それ以外の場合は false を返します。 |
map_entries(map) | map 内のすべてのエントリの順序指定されていない配列を返します。 |
map_filter(expr, func) | 関数 func を使用して、expr のマップ内のエントリをフィルター処理します。 |
map_from_arrays(keys, values) | keys 配列と values 配列のペアを使用してマップを作成します。 |
map_from_entries(expr) | 指定されたエントリの配列からマップを作成します。 |
map_keys(map) | map のキーを含む順序指定されていない配列を返します。 |
map_values(map) | map の値を含む順序指定されていない配列を返します。 |
map_zip_with(map1, map2, func) | map1 と map2 を 1 つのマップにマージします。 |
size(expr) | expr のカーディナリティを返します。 |
str_to_map(expr[,pairDelim[,keyValueDelim]]) | 区切り記号を使用して expr をキーと値のペアに分割した後にマップを作成します。 |
transform_keys(expr, func) | 関数 func を使用して、expr のマップ内のキーを変換します。 |
transform_values(expr, func) | 関数 func を使用して、expr のマップ内の値を変換します。 |
try_element_at(mapExpr, key) | key の mapExpr の値を、key が存在しない場合は NULL を返します。 |
日付、タイムスタンプ、および間隔の関数
日付とタイムスタンプの形式について詳しくは、「Datetime パターン」を参照してください。
Function | 説明 |
---|---|
intervalExpr / divisor | 間隔を divisor で除算した値を返します。 |
- intervalExpr | intervalExpr の否定値を返します。 |
intervalExpr1 - intervalExpr2 | intervalExpr1 からの intervalExpr2 の減算を返します。 |
datetimeExpr1 - datetimeExpr2 | datetimeExpr1 からの datetimeExpr2 の減算を返します。 |
+ intervalExpr | intervalExpr の値を返します。 |
intervalExpr1 + intervalExpr2 | intervalExpr1 と intervalExpr2 の合計を返します。 |
intervalExpr * multiplicand | intervalExpr に multiplicand を乗算したものを返します。 |
abs(expr) | expr 内の間隔値の絶対値を返します。 |
add_months(startDate,numMonths) | startDate の後の numMonths である日付を返します。 |
curdate() | クエリ評価開始時の現在の日付を返します。 |
current_date() | クエリ評価開始時の現在の日付を返します。 |
current_timestamp() | クエリ評価の開始時点での現在のタイムスタンプを返します。 |
current_timezone() | 現在のセッションのローカル タイムゾーンを返します。 |
date(expr) | 値 expr を日付にキャストします。 |
date_add(startDate,numDays) | startDate 後の日付 numDays を返します。 |
date_add(unit, value, expr) | value unit をタイムスタンプ expr に追加します。 |
date_diff(unit, start, stop) | unit で測定された 2 つのタイムスタンプの差を返します。 |
date_format(expr,fmt) | timestamp を fmt 形式の文字列に変換します。 |
date_from_unix_date(days) | 1970-01-01 以降の日数から日付を作成します。 |
date_part(field,expr) | 日付、タイムスタンプ、または間隔の一部を抽出します。 |
date_sub(startDate,numDays) | startDate の numDays 日前の日付を返します。 |
date_trunc(unit,expr) | unit で指定された単位に切り詰められたタイムスタンプを返します。 |
dateadd(startDate,numDays) | startDate 後の日付 numDays を返します。 |
dateadd(unit, value, expr) | value unit をタイムスタンプ expr に追加します。 |
datediff(endDate,startDate) | startDate から endDate までの日数を返します。 |
datediff(unit, start, stop) | unit で測定された 2 つのタイムスタンプの差を返します。 |
day(expr) | 日付またはタイムスタンプの月の日を返します。 |
dayofmonth(expr) | 日付またはタイムスタンプの月の日を返します。 |
dayofweek(expr) | 日付またはタイムスタンプの曜日を返します。 |
dayofyear(expr) | 日付またはタイムスタンプの通算日を返します。 |
divisor div dividend | 間隔 divisor を間隔 dividend で除算した値の整数部を返します。 |
extract(field FROM source) | source の field を返します。 |
from_unixtime(unixTime,fmt) | fmt の unixTime を返します。 |
from_utc_timestamp(expr,timezone) | timeZone のタイムスタンプ expr のUTC タイムスタンプを返します。 |
getdate() | クエリ評価の開始時点での現在のタイムスタンプを返します。 |
hour(expr) | タイムスタンプの時間コンポーネントを返します。 |
last_day(expr) | 日付が属する月の最後の日付を返します。 |
make_date(year,month,day) | year 、month 、day の各フィールドから日付を作成します。 |
make_dt_interval([days[, hours[, mins[, secs]]]]) | 日付と時刻の間隔を days 、hours 、mins 、secs から作成します。 |
make_interval(years, months, weeks, days, hours, mins, secs) | 非推奨: years 、months 、weeks 、days 、hours 、mins 、secs から間隔を作成します。 |
make_timestamp(year,month,day,hour,min,sec[,timezone]) | 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, start, stop) | 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) | value unit をタイムスタンプ expr に追加します。 |
timestampdiff(unit, start, stop) | unit で測定された 2 つのタイムスタンプの差を返します。 |
to_date(expr[,fmt]) | 任意の書式設定を使用した日付への expr キャストを返します。 |
to_timestamp(expr[,fmt]) | 省略可能な書式設定を使用して、タイムスタンプへの expr のキャストを返します。 |
to_unix_timestamp(expr[,fmt]) | expr 内のタイムスタンプを UNIX タイムスタンプとして返します。 |
to_utc_timestamp(expr,timezone) | timezone のタイムスタンプ expr のUTC タイムスタンプを返します。 |
trunc(expr, fmt) | 書式モデル fmt で指定された単位で切り詰められた日付の部分を含む日付を返します。 |
try_add(expr1, expr2) | expr1 と expr2 の合計を返します。エラーが発生した場合は NULL を返します。 |
try_divide(dividend, divisor) | divisor で割った dividend 、または divisor が 0 の場合は、NULL を返します。 |
try_multiply(multiplier, multiplicand) | multiplicand によって乗算、またはオーバーフロー時に NULL によって乗算された multiplier を返します。 |
try_subtract(expr1, expr2) | expr1 から expr2 の減算、またはオーバーフロー時に 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_time(window) | window または session_window 関数によって生成されるスライディング ウィンドウの包括的な終了時刻を返します。 |
H3 地理空間の関数
H3 地理空間関数の詳細については、「H3 地理空間関数」を参照してください。
キャスト関数とコンストラクター
型間のキャストの詳細については、「cast 関数」と「try_cast 関数」を参照してください。
Function | 説明 |
---|---|
array([expr [, …]]) | expr 内の要素を含む配列を返します。 |
bigint(expr) | 値 expr を BIGINT にキャストします。 |
binary(expr) | expr の値を BINARY にキャストします。 |
boolean(expr) | expr を BOOLEAN にキャストします。 |
cast(expr AS type) | expr の値をターゲット データ型 type にキャストします。 |
expr :: type | 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) | year 、month 、day の各フィールドから日付を作成します。 |
make_dt_interval([days[, hours[, mins[, secs]]]]) | 日付と時刻の間隔を days 、hours 、mins 、secs から作成します。 |
make_interval(years, months, weeks, days, hours, mins, secs) | years 、months 、weeks 、days 、hours 、mins 、secs から間隔を作成します。 |
make_timestamp(year,month,day,hour,min,sec[,timezone]) | 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) | fmt の書式設定を使用して、STRING にキャストされた expr を返します。 |
to_date(expr[,fmt]) | 任意の書式設定を使用した日付への expr キャストを返します。 |
to_number(expr, fmt) | 書式設定 fmt を使用して、DECIMA L にキャストされた expr を返します。 |
to_timestamp(expr[,fmt]) | 省略可能な書式設定を使用して、タイムスタンプへの expr のキャストを返します。 |
to_varchar(expr, fmt) | fmt の書式設定を使用して、STRING にキャストされた expr を返します。 |
try_cast(expr AS type) | 値 expr をターゲット データ型 type に安全にキャストします。 |
try_to_number(expr, fmt) | 書式設定 fmt を使用して DECIMAL にキャストされた expr を返すか、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 関数
Function | 説明 |
---|---|
jsonStr : jsonPath | jsonStr から抽出されたフィールドを返します。 |
from_json(jsonStr, schema[, options]) | jsonStr と schema を含む構造体の値を返します。 |
get_json_object(expr, path) | path から JSON オブジェクトを抽出します。 |
json_array_length(jsonArray) | 最も外側の JSON 配列の要素数を返します。 |
json_object_keys(jsonObject) | 最も外側の JSON オブジェクトのすべてのキーを配列として返します。 |
json_tuple(jsonStr, path1 [, …]) | 複数の JSON オブジェクトをタプルとして返します。 |
parse_json(jsonStr) | jsonStr から VARIANT 値を返します。 |
schema_of_json(jsonStr[, options]) | JSON 文字列スキーマを DDL 形式で返します。 |
schema_of_json_agg(jsonStr[, options]) | JSON 文字列をグループに結合したスキーマを DDL 形式で返します。 |
to_json(expr[, options]) | expr に指定された STRUCT または VARIANT で JSON 文字列を返します。 |
VARIANT 関数
関数 | 説明 |
---|---|
variantExpr : jsonPath | JSON パスを使用して variantExpr から抽出されたフィールドを返します。 |
is_variant_null(variantExpr) | variantExpr が VARIANT エンコードされた NULL かどうかをテストします。 |
parse_json(jsonStr) | jsonStr から VARIANT 値を返します。 |
schema_of_variant(variantExpr) | DDL 形式の VARIANT 式のスキーマを返します。 |
schema_of_variant_agg(variantExpr) | すべての VARIANT 値をグループに結合したスキーマを DDL 形式で返します。 |
to_json(expr[, options]) | expr に指定された STRUCT または VARIANT で JSON 文字列を返します。 |
try_parse_json(jsonStr) | 可能な場合に jsonStr から VARIANT 値を返します。 可能でない場合は、NULL が返されます。 |
try_variant_get(variantExpr,path,type) | path で指定されている、variantExpr からの type 型の値を抽出するか、ターゲット型にキャストできない場合は NULL を抽出します。 |
variant_explode(variantExpr) | variantExpr の入れ子を解除することにより、一連の行を返します。 |
variant_explode_outer(variantExpr) | 外部セマンティクスを使用して入れ子を解除した variantExpr により、行のセットを返します。 |
variant_get(variantExpr,path,type) | path で指定された、variantExpr からの type 型の値を抽出します。 |
XPath および XML 関数
機能 | 説明 |
---|---|
from_xml(xmlStr, schema[, options]) | schema を使用して xmlStr から解析された構造体の値を返します。 |
schema_of_xml(xmlStr[, options]) | XML 文字列スキーマを DDL 形式で返します。 |
xpath(xml, xpath) | xpath と一致する xml のノード内の値を返します。 |
xpath_boolean(xml, xpath) | xpath 式が true と評価された場合、または xml 内に一致するノードが見つかった場合は true を返します。 |
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 関数
Function | 説明 |
---|---|
ai_analyze_sentiment(content) | テキストのセンチメントを返します。 |
ai_classify(content, labels) | 指定されたコンテンツを、指定されたラベルのいずれかに分類します。 |
ai_extract(content, labels) | 特定のテキストからラベルで指定されたエンティティを抽出します。 |
ai_fix_grammar(content) | 特定のテキストの文法エラーを修正します。 |
ai_forecast(observed, time_col) | 時系列データを未来へ外挿します。 |
ai_gen(content) | Databricks Foundation Model API から最先端の生成 AI モデルを呼び出して、ユーザーが指定したプロンプトに応答します。 |
ai_generate_text(prompt, modelName[, param1, value1] […]) | 非推奨: 与えられたプロンプトに応じて、選択した大規模言語モデル (LLM) で生成されたテキストを返します。 |
ai_mask(content, labels) | 特定のテキスト内の指定されたエンティティをマスクします。 |
ai_query(endpointName, request, returnType) | 既存の Mosaic AI Model Serving エンドポイントを呼び出し、その応答を解析して返します。 |
ai_similarity(strExpr1, strExpr2) | 2 つの文字列を比較し、セマンティック類似性スコアを計算します。 |
ai_summarize(content[, max_words]) | 特定のテキストの概要を生成します。 |
ai_translate(content, to_lang) | 指定したターゲット言語にテキストを翻訳します。 |
vector_search(index, query, num_results) | SQL を使用して Mosaic AI Vector Search インデックスに対してクエリを実行します。 |
読み取り関数
Function | 説明 |
---|---|
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(path) | ストリーミング クエリ状態のメタデータを表す行を含むテーブルを返します。 |
read_statestore(path [, option_key => option_value] […]) | ストリーミング クエリの状態ストアからレコードを返します。 |
その他の関数
Function | 説明 |
---|---|
assert_true(expr) | expr が true ではない場合、エラーを返します。 |
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END | expr と等しい最初の optN に対して resN を返します。または、何も一致しない場合は、def を返します。 |
CASE { WHEN cond1 THEN res1 } […] [ELSE def] END | true に評価される最初の condN に対して resN を返します。または、何も見つからない場合は、def を返します。 |
cloud_files_state( { TABLE(table) | checkpoint } ) | オートローダーの cloud_files ソースのファイル レベルでの状態を返します。 |
coalesce(expr1, expr2 [, …]) | 最初の null 以外の引数を返します。 |
cube (expr1 [, …]) | 指定された式列を使用して多次元キューブを作成します。 |
current_catalog() | 現在のカタログを返します。 |
current_database() | 現在のスキーマを返します。 |
current_metastore() | 現在の Unity Catalog メタストア ID を返します。 |
current_recipient(key) | Delta Sharing で共有されているビューの現在の受信者のプロパティを返します。 |
current_schema() | 現在のスキーマを返します。 |
current_user() | ステートメントを実行しているユーザーを返します。 |
current_version() | Azure Databricks の現在のバージョンを返します。 |
decode(expr, { key, value } [, …] [,defValue]) | キーに一致する値を返します。 |
elt(index, expr1 [, …] ) | N 番目の式を返します。 |
equal_null(expr1, expr2) | expr1 が expr2 と等しい場合、または両方の式が NULL の場合は true 、それ以外の場合は false を返します。 |
event_log( { TABLE(table) | pipeline_id } ) | 具体化されたビュー、ストリーミング テーブル、または DLT パイプラインの更新履歴のテーブルを返します。 |
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 スケッチを結合します。 |
java_method(class, method[, arg1 [, …]]) | リフレクションを使用してメソッドを呼び出します。 |
if(cond, expr1, expr2) | cond が true の場合は expr1 を返します。それ以外の場合は expr2 を返します。 |
iff(cond, expr1, expr2) | cond が true の場合は expr1 を返します。それ以外の場合は expr2 を返します。 |
ifnull(expr1, expr2) | expr1 が NULL の場合は expr2 を返します。それ以外の場合は expr1 を返します。 |
input_file_block_length() | 読み取り中のブロックの長さをバイト単位で返します。 |
input_file_block_start() | 読み取り中のブロックの開始オフセットをバイト単位で返します。 |
input_file_name() | 読み取り中のファイルの名前を返します。情報が得られない場合は、空の文字列を返します。 |
is_account_group_member(group) | 現在のユーザーがアカウント レベルでグループのメンバーである場合に true を返します。 |
is_member(group) | 現在のユーザーがワークスペース レベルでグループのメンバーである場合に true を返します。 |
isnull(expr) | expr が NULL である場合、true を返します。 |
isnotnull(expr) | expr が NULL でない場合、true を返します。 |
least(expr1, expr2 [, …]) | すべての引数のうちで、Null 値をスキップして、最小値を返します。 |
list_secrets([scopeStr]) | Databricks シークレット サービスから、ユーザーが閲覧を許可されているすべてまたは 1 つのスコープ内のキーを返します。 |
luhn_check(numStr) | numStr が Luhn アルゴリズム チェックに合格した場合は true を返します。 |
monotonically_increasing_id() | 単調に増加する 64 ビットの整数を返します。 |
nullif(expr1, expr2) | expr1 が expr2 と等しい場合は NULL を返し、それ以外の場合は expr1 を返します。 |
nvl(expr1, expr2) | expr1 が NULL の場合は expr2 を返します。それ以外の場合は expr1 を返します。 |
nvl2(expr1, expr2, expr3) | expr1 が NULL でない場合は expr2 を返します。それ以外の場合は expr3 を返します。 |
raise_error(expr) | expr をメッセージとした例外がスローされます。 |
range(end) | 指定した範囲内の値のテーブルを返します。 |
range(start, end [, step [, numParts]]) | 指定した範囲内の値のテーブルを返します。 |
reflect(class, method[, arg1 [, …]]) | リフレクションを使用してメソッドを呼び出します。 |
secret(scope, key) | Databricks シークレット サービスから、指定された 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) | 指定された scope と key を持つシークレット値を Databricks シークレット サービスから抽出します。または、キーを取得できない場合は NULL 。 |
typeof(expr) | expr のデータ型の型文字列を DDL 形式で返します。 |
user() | ステートメントを実行しているユーザーを返します。 |
uuid() | ユニバーサル一意識別子 (UUID) 文字列を返します。 |
window(expr, width[, step [, start]]) | タイムスタンプ式の上にホッピング ベースのスライディング ウィンドウを作成します。 |
xxhash64(expr1 [, …]) | 引数の 64 ビット ハッシュ値を返します。 |
version() | Apache Spark のバージョンを返します。 |