共用方式為


內建函式

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

本文提供字串和二進位類型、數值標量、彙總、視窗函數、陣列、映射、日期和時間戳記、類型轉換、CSV 資料、JSON 資料、XPath 操作和其他雜項函式的內建運算子和函式之連結及描述。

針對現有內建函式不支援的使用案例,請考慮定義自訂函式。 請參閱什麼是使用者定義函式 (UDF)?

另請參閱:

運算子和述詞

如需了解運算子如何相互解析的相關資訊,請參閱運算子優先順序

操作員 語法 描述
& expr1 & expr2 傳回 expr1expr2 的按位 AND
expr1 and expr2 傳回 expr1expr2 的邏輯 AND
* multiplier * multiplicand 傳回 multiplier 乘以 multiplicand
!= expr1 != expr2 如果 expr1 不等於 expr2,則傳回 true,否則傳回 false
! !expr 傳回布林運算式的邏輯結果 NOT
之間 expr1 [not] between expr2 and expr2 測試 expr1 是否大於或等於 expr2,且小於或等於 expr3
[ ] arrayExpr [ indexExpr ] 傳回 indexExprARRAY 的第 arrayExpr 項元素。
[ ] mapExpr [ keyExpr ] 傳回 keyExprMAPmapExpr 值。
^ 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 傳回至少一個資料列,則傳回 true,否則傳回 false。
ilike str [not] ilike (pattern[ESCAPE escape]) 如果 strpattern 不區分大小寫的情況下與 escape 不符,則傳回 true。
ilike str [not] ilike {ANY\|SOME\|ALL}([pattern[, ...]]) 如果 str 以不區分大小寫的方式符合(或不符合)任何/所有模式,則返回 true。
in elem [not] in (expr1[, ...]) 如果 true 不等於任何 elem,則傳回 exprN
in elem [not] in (query) 如果 true 不等於 elem 之中的任何資料列,則傳回 query
有所不同 expr1 is [not] distinct from expr2 測試引數是否具有不同的值,其中 NULL 被視為可比較的值。
為假 expr is [not] false 測試是否 expr 是 (不是) false
為 NULL expr is [not] null 如果 true 不是 expr,則傳回 NULL
為真 expr is [not] true 測試是否 expr 是 (不是) true
like str [not] like (pattern[ESCAPE escape]) 如果 str 與具有 patternescape 不相符,則傳回 true。
like str [not] like {ANY\|SOME\|ALL}([pattern[, ...]]) 如果 str 不符合任何/所有模式,則傳回 true。
<=> expr1 <=> expr2 對於非空運算元,傳回與 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 傳回 expr2expr1 的差集。
not expr 返回布林運算式的邏輯運算結果 NOT
expr1 or expr2 傳回 ORexpr1 的邏輯 expr2
% dividend % divisor 傳回 dividend / divisor 後的餘數。
|| expr1 \|\| expr2 傳回 expr1expr2 的串連。
| expr1 \| expr2 傳回 ORexpr1 以及 expr2 之間的位元運算結果。
+ expr1 + expr2 傳回 expr1expr2 的總和。
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 傳回 NOTexpr 的位元運算結果。

運算子優先順序

優先順序 Operator
1 :、 、 ::?::[ ]
2 -(unary), +(unary), ~
3 *、 、 /%div
4 + - \|\|
5 &
6 ^
7 \|
8 ===<=><>!=<<=>>=
9 not, exists
10 betweeninrlikeregexpilikelike、、、 is [not] [NULL, true, false]is [not] distinct from
11 and
12 or

字串和二進位函式

函式 描述
expr1 || expr2 傳回 expr1expr2 的串連。
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]) 傳回 str 中位置 pos 之後的第一個 substr 的位置。
chr(expr) 返回所提供的 UTF-16 字碼單元的字元。
strExpr 定序定序Name 將明確定序 collationName 附加至 strExpr
定序 [用於] (strExpr) 返回附加至 strExpr的排序規則。
concat(expr1, expr2[, …]) 傳回參數的串接結果。
concat_ws(sep[, expr1[, …]]) 傳回以sep 分隔的串連字串。
contains(expr, subExpr) 如果 trueexprSTRING 包含 BINARY,則傳回 subExpr
crc32(expr) 傳回 expr 的循環冗餘檢查值。
decode(expr, charSet) 使用字元集編碼 expr,將二進位 charSet 轉譯為字元串。
encode(expr, charSet) 使用 charSet 字元編碼傳回字串的二進位表示法。
endswith(expr, endExpr) 如果 trueexprSTRING 是以 BINARY 為結尾,則傳回 endExpr
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 轉換成十六進位。
str ilike (pattern[ESCAPE escape]) 如果 strpattern 不區分大小寫的情況下與 escape 相符,則傳回 true。
initcap(expr) 傳回 expr,每個字的第一個字母為大寫。
instr(str, substr) 傳回 substrstr 中第一次出現的索引 (以 1 為基礎)。
lcase(expr) 傳回 expr,所有字元都變更為小寫。
left(str, len) 傳回從 str 最左邊的 len 個字元。
len(expr) 傳回字串資料的字元長度或二進位資料的位元組數目。
length(expr) 傳回字串資料的字元長度或二進位資料的位元組數目。
levenshtein(str1, str2) 傳回字串 str1str2 之間的 Levenshtein 距離。
str like (pattern[ESCAPE escape]) 如果 strpatternescape 的組合相符,則傳回 true。
locate(substr, str[, pos]) 傳回 str 中在位置 pos 之後出現的第一個 substr 的位置。
lower(expr) 傳回 expr,所有字元都變更為小寫。
lpad(expr, len[, pad]) 傳回 expr,左填補的 pad 長度為 len
ltrim([trimstr,] str) 傳回 str,並移除 trimStr 以內的前置字元。
mask(str[, upperChar[, lowerChar[, digitChar[, otherChar]]]]) 傳回輸入 str 的遮罩版本。
md5(expr) 以十六進位字串傳回 expr 的 MD5 128 位元總和檢查碼。
octet_length(expr) 傳回字串資料的位元組長度或二進位資料的位元元組數目。
overlay(input PLACING replace FROM pos [FOR len]) input 取代 replace ,其開頭為 pos,且長度為 len
覆蓋(輸入 從 位置 替換 [長度 FOR]) input 取代 replace ,其開頭為 pos,且長度為 len
parse_url(url, partToExtract[, key]) url 擷取組件。
position(substr, str[, pos]) 回傳在str中於位置pos之後發生的第一個substr的位置。
position (subtr IN str) 傳回在 pos 之後 str 中第一次出現的 substr 的位置。
printf(strfmt[, obj1 [, …]]) 從 printf 樣式的格式字串傳回格式化字串。
randstr(長度) 傳回一個由 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) 傳回重複 exprn 次的字串。
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) 傳回 sha1 雜湊值為 expr 的十六進制字串。
sha1(expr) 傳回 sha1 雜湊值為 expr 的十六進制字串。
sha2(expr, bitLength) 傳回 SHA-2 系列的總和檢查碼為 expr 的十六進位字串。
soundex(expr) 傳回字串的 soundex 程式碼。
space(n) 傳回包含 n 空格的字串。
split(str, regex[, limit]) 分割 str 圍繞符合 regex 的出現次數,並傳回最長為 limit 的陣列。
split_part(str, delim, partNum) strdelim 出現為界進行分割,並返回 partNum 部分。
startswith(expr, startExpr) 如果 trueexprSTRING 是以 BINARY 為開頭,傳回 startExpr
string(expr) 將值 expr 轉換為 STRING
substr(expr, pos[, len]) 傳回從 expr 開始且長度為 poslen 的子字串。
substr(expr FROM pos[ FOR len]) 傳回從 expr 開始且長度為 poslen 的子字串。
substring(expr, pos[, len]) 傳回從 expr 開始且長度為 poslen 的子字串。
substring(expr FROM pos[ FOR len]) 傳回從 expr 開始且長度為 poslen 的子字串。
substring_index(expr, delim, count) 傳回在分隔符號 exprcount 次出現之前的 delim 的子字串。
to_binary(expr[, fmt]) 傳回將 expr 根據 fmt 轉換為二進位。
to_char(numExpr, fmt) 傳回以格式 fmtnumExpr 轉換為 STRING 的結果。
to_varchar(numExpr, fmt) 使用格式 fmtnumExpr 轉換為 STRING 並傳回。
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
嘗試轉為二進位(expr [, fmt]) expr 根據 fmt 轉換為 BINARY 返回,若輸入無效則返回 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) 將十六進位 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 壓縮解壓縮的值。

數值純量函式

功能 描述
~ expr 傳回 NOT 的位元 expr
dividend / divisor 傳回 dividend 除以 divisor
expr1 | expr2 傳回 ORexpr1expr2 的位元按位運算結果。
- expr 傳回 expr 的負值。
expr1 - expr2 傳回 expr2expr1 的差集。
+ expr 傳回 expr 的值。
expr1 + expr2 傳回 expr1expr2 的總和。
股息 % 除數 傳回 dividend / divisor 後的餘數。
expr1 ^ expr2 傳回 OR (XOR)expr1 的位元運算排除 expr2
expr1 & expr2 傳回 ANDexpr1 的位元運算 expr2
multiplier * multiplicand 傳回 multiplier 乘以 multiplicand
abs(expr) 傳回 expr 中數值的絕對值。
acos(expr) 傳回 expr 的反余弦值(反餘弦)。
acosh(expr) 傳回 expr 的反雙曲餘弦值。
asin(expr) 傳回 expr 的反正弦值 (arcsine)。
asinh(expr) 傳回 expr 的反雙曲正弦函數值。
atan(expr) 傳回 expr 的反切值 (反正切)。
atan2(exprY, exprX) 返回平面正 x 軸與由坐標 (exprXexprY) 指定的點之間的弧度角度。
atanh(expr) 傳回 expr 的反雙曲正切。
bigint(expr) 將值 expr 轉換為 BIGINT
bit_count(expr) 傳回 自變數中設定的位數。
bit_get(expr, pos) 返回整數在二進位表示法中某個位元的值。
bit_reverse(expr) 傳回藉由反轉 引數中位的順序所取得的值。
位圖位元位置(expr) 傳回指定數字在容器中以 0 為基底的位元位置。
bitmap_bucket_number(expr) 傳回指定 BIGINT 數字的點陣圖區編號。
bround(expr[,targetScale]) 使用 HALF_EVEN 四捨五入模式傳回已四捨五入的 expr
cbrt(expr) 傳回 expr 的平方根。
ceil(expr[,targetScale]) 傳回不小於 expr 的最小數字,相對於小數點四捨五入到 targetScale 位數。
ceiling(expr[,targetScale]) 傳回不小於 expr 的最小數字,相對於小數點四捨五入到 targetScale 位數。
conv(num, fromBase, toBase) numfromBase轉換為toBase
convert_timezone([sourceTz, ]targetTz, sourceTs) TIMESTAMP_NTZsourceTssourceTz時區轉換為targetTz
cos(expr) 傳回 expr 的餘弦。
cosh(expr) 傳回 expr 的雙曲餘弦。
cot(expr) 傳回 expr 的餘切。
csc(expr) 傳回 expr 的餘割。
decimal(expr) 將值 expr 轉換為 DECIMAL
degrees(expr) 將弧度轉換為度。
divisor div dividend 傳回 divisor 除以 dividend 的整數部分。
double(expr) 將值 expr 轉換為 DOUBLE
e() 傳回常數 e
exp(expr) 傳回 eexpr 的幂。
expm1(expr) 傳回 exp(expr) - 1
factorial(expr) 傳回 expr 的階乘。
float(expr) 將值 expr 轉換為 FLOAT
floor(expr[,targetScale]) 傳回相對於小數點向下捨入到 expr 位的不小於 targetScale 的最大數字。
getbit(expr, pos) 傳回整數數值的二進位表示法中的位元值。
hypot(expr1, expr2) 傳回 sqrt(expr1 * expr1 + expr2 * expr2)
int(expr) 將值 expr 轉換為 INTEGER
isnan(expr) 如果 trueexpr,則傳回 NaN
ln(expr) 傳回 expr 的自然對數 (以 e 為底)。
log([base,] expr) 傳回 exprbase 的對數值。
log1p(expr) 傳回 log(1 + expr)
log2(expr) 傳回 expr2 為底的對數。
log10(expr) 傳回 expr10 為底的對數。
mod(dividend, divisor) 傳回 dividend / divisor 之後的餘數。
nanvl(expr1, expr2) 如果它不是 expr1,則傳回 NaN,否則傳回 expr2
negative(expr) 傳回 expr 的負值。
'nullifzero(expr)' 如果 expr 不是零,則傳回 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([seed]) 傳回介於 0 到 1 之間的隨機值。
randn([seed]) 從標準常態分佈傳回隨機值。
random([seed]) 傳回介於 0 到 1 之間的隨機值。
rint(expr) 傳回 expr 四捨五入後的整數,作為 DOUBLE
round(expr[,targetScale]) 使用 expr 四捨五入模式傳回已四捨五入的 HALF_UP
sec(expr) 傳回 expr 的餘弦。
shiftleft(expr, n) 傳回位元運算向左位移 n 位元的結果。
shiftright(expr, n) 傳回將帶號整數進行位元向右位移 n 位元的結果。
shiftrightunsigned(expr, n) 傳回無符號或有符號整數右移 n 位的結果。
sign(expr) 傳回 -1.0、0.0 或 1.0,如同 expr 為負數、0 或正數。
signum(expr) 傳回 -1.0、0.0 或 1.0,如同 expr 為負數、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 使用格式 fmt 轉型為 DECIMAL
try_add(expr1, expr2) 傳回 expr1expr2 的總和,若有錯誤,則傳回 NULL
try_divide(dividend, divisor) 傳回 dividend 除以 divisor ,若 NULL 為 0 則傳回 divisor
try_mod(dividend, divisor) 傳回 dividend / divisor 之後的餘數,若 NULL 為 0,則傳回 divisor
try_multiply(multiplier, multiplicand) 傳回 multiplier 乘以 multiplicand,溢位時則傳回 NULL
try_subtract(expr1, expr2) 傳回 expr2expr1 的結果,溢位時則傳回 NULL
嘗試轉換為數字(expr, fmt) 使用格式 exprDECIMAL 轉換為 fmt,如果 NULL 不符合格式,則傳回 expr
均勻分布(expr1, expr2[,seed]) 傳回在指定數位範圍內具有獨立且相同分佈值的隨機值。
width_bucket(expr, minExpr, maxExpr, numBuckets) 傳回等寬直方圖中某個值所屬的分桶號碼。
'zeroifnull(expr)' 如果它不是NULL,則返回expr;否則返回0

彙總函數

函式 描述
any(expr) 如果群組中至少有一個值 expr 為 true,則傳回 true。
any_value(expr[,ignoreNull]) 傳回一組資料列的某個值 expr
approx_count_distinct(expr[,relativeSD]) 傳回群組中 expr 相異值的估計數目。
近似百分位數(expr, 百分比[, 精度]) 傳回群組中 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。 在一個群組中,作為 BINARY,介於 0 到 32767 之間。
bitmap_or_agg(expr) 傳回群組中所有 OR 輸入值執行位元運算 BINARY 的結果。
bool_and(expr) 如果 expr 中的所有值在群組內都為 true,則傳回 true。
bool_or(expr) 如果 expr 中至少有一個值在群組內為 true,則傳回 true。
collect_list(expr) 傳回一個包含群組內 expr 所有值的陣列。
collect_set(expr) 傳回一個陣列,其中包含在群組中 expr 的所有唯一值。
corr(expr1,expr2) 傳回一組數位組之間的相互關聯 Pearson 係數。
count(*) 傳回群組中擷取的資料列總數,包括包含 null 的資料列。
count(expr[, …]) 傳回群組中提供的表示式都是非 Null 的資料列數目。
count_if(expr) 傳回 expr中群組的 true 值數目。
count_min_sketch(column,epsilon,confidence,seed) 使用 columnepsilonconfidence 傳回 群組中 seed 所有值的 count-min 草圖。
covar_pop(expr1,expr2) 傳回群組中數位組的母體共變數。
covar_samp(expr1,expr2) 傳回組內數字對的樣本共變異數。
every(expr) 如果群組中所有expr 的值都為 true,則傳回 true。
first(表达式[,忽略空值]) 傳回一組資料列中的 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) 傳回從群組值計算的庫爾特氏值。
last(expr[,ignoreNull]) 傳回資料列群組之 expr 的最後一個值。
last_value(表達式[,忽略空值]) 傳回資料列群組之 expr 的最後一個值。
max(expr) 傳回群組中 expr 的最大值。
max_by(expr1,expr2) 傳回群組中與最大值 expr1 相關的 expr2 的值。
mean(expr) 傳回從群組值計算的平均值。
median(expr) 傳回從群組值計算的中位數。
min(expr) 傳回群組中 expr 的最小值。
min_by(expr1, expr2) 傳回群組中與最小值 expr1 相關的 expr2 的值。
mode(expr [,deterministic]) 傳回 NULL 在群組中最常出現的值,而非 expr
percentile(運算式, 百分比 [,頻率]) 傳回指定 exprpercentage 的確切百分位數值。
percentile_approx(expr,percentage[,accuracy]) 傳回群組中 expr 的百分位數近似值
percentile_cont(pct)WITHIN GROUP(ORDER BY key) 傳回群組中 key 的內插百分位數。
百分位數_磁盤(pct)WITHIN GROUP(ORDER BY 鍵) 傳回群組中 key 的離散百分位數。
regr_avgx(yExpr, xExpr) 傳回從 xExprxExpryExpr之群組值計算的 NOT NULL 平均值。
regr_avgy(yExpr, xExpr) 傳回從 yExprxExpryExpr之群組值計算的 NOT NULL 平均值。
regr_count(yExpr, xExpr) 傳回群組中非空值組 yExprxExpr 的數目。
regr_intercept(yExpr, xExpr) 傳回當 xExpryExpr 皆不為 NULL 時,群組中單變數線性回歸線的截距。
regr_r2(yExpr, xExpr) 返回群組值的決定係數,其中 xExpryExpr 不為 NULL。
regr_slope(yExpr, xExpr) 傳回群組中非空值對 yExprxExpr 的線性回歸線斜率。
regr_sxx(yExpr, xExpr) 傳回一組的xExpr值平方和,其中xExpryExpr不為 NULL。
regr_sxy(yExpr, xExpr) 傳回 yExprxExpr 的乘積總和,這些乘積是從滿足 xExpryExprNOT NULL條件的群組值中計算得來的。
regr_syy(yExpr, xExpr) 傳回一個群組的 yExpr 值的平方和,其中 xExpryExpr 均不為 NULL。
schema_of_json_agg(json[, options]) 以 DDL 格式返回群組中 JSON 個字串的合併結構描述。
variant_agg之結構(variantExpr) 以 DDL 格式傳回群組中所有 VARIANT 值的合併架構。
偏度(expr) 傳回從群組值計算的扭曲值。
some(expr) 如果群組中至少有一個 expr 的值是 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) 傳回從群組值計算的樣本變異數。

排序視窗函數

功能 描述
dense_rank() 傳回某一值在該分割區所有值中的排名。
ntile(n) 將每個視窗分割區的數據列分割為 n 個值區,範圍從 1 到最多 n
percent_rank() 計算資料分割內值的百分比排名。
rank() 傳回某一值在該分割區所有值中的排名。
row_number() 根據視窗分割內資料列的順序,為每個資料列指派唯一的序號,從一個開始。

分析視窗函式

函式 描述
cume_dist() 傳回值在數據分割中相對於所有其他值的位置。
lag(expr[,offset[,default]]) 傳回資料分割區內前一列的 expr 值。
lead(expr[,offset[,default]]) 此功能從分區中的後續行返回expr的值。
nth_value(expr, offset[, ignoreNulls]) 傳回在視窗中特定 offset 處的 expr 值。

陣列函數

函式 描述
arrayExpr[indexExpr] 傳回 ARRAY indexExpr 位置 arrayExpr 的元素。
aggregate(expr,start,merge[,finish]) 使用自訂彙總工具彙總數組中的項目。
array([expr [, …]]) 傳回包含 expr 中元素的陣列。
array_append(array, elem) array 加上 elem 後傳回。
array_compact(array) array中移除 Null 值。
array_contains(array,value) 如果 array 包含 value,則傳回 true。
array_distinct(array) 移除 array中的重複值。
array_except(array1,array2) 傳回在 array1 中但不在 array2 中的元素的陣列。
陣列_插入(陣列, 索引, 元素) 傳回將 array 插入到 elem 位置後展開的 index
array_intersect(array1,array2) 傳回 array1array2 交集中元素的陣列。
數組合併(數組,分隔符[,空值替換]) 串連 array 的元素。
array_max(陣列) - 陣列最大值 傳回 array 中的最大值。
array_min(array) 傳回 array 中的最小值。
array_position(array,element) 傳回 array 中首次出現 element 的位置。
array_prepend(array, elem) 在陣列前加上元素 返回 array,前面加上 elem
array_remove(array,element) array中移除所有element的出現。
array_repeat(element,count) 傳回包含 elementcount 時間的陣列。
陣列大小(array) 傳回 array 中的元素數目。
array_sort(array,func) 傳回已根據 func 排序的 array
array_union(array1,array2) 傳回 array1array2 結合中沒有重複元素的陣列。
arrays_overlap(array1, array2) 如果 array1array2的交集不是空的,則傳回 true。
arrays_zip(array1 [, …]) 傳回結構合併的陣列,其中第 n 個結構包含輸入數位的所有 N 個值。
cardinality(expr) 傳回 expr 的大小。
concat(expr1, expr2 [, …]) 傳回引數的串連。
element_at(arrayExpr, index) 返回index中的arrayExpr元素。
exists(expr, pred) 對於 pred 中的任何元素,如果 expr 為 true,則傳回 true。
explode(collection) 透過取消巢狀 collection 傳回資料列。
explode_outer(collection) 透過取消巢狀 collection 利用外部語意返回列。
filter(expr,func) 使用 expr函式篩選 func中的陣列。
flatten(arrayOfArrays) 將陣列陣陣轉換成單一陣列。
forall(expr, predFunc) 測試是否 predFunc保留陣列中的所有項目。
get(arrayExpr, index) 0 開始,傳回 arrayExprindex 中的元素。
inline(input) 將結構陣列分解成數據表。
inline_outer(input) 將結構陣列展開成為一個具有外部語義的表格。
posexplode(collection) 將具有位置編號的陣列取消巢狀,以傳回資料列。
posexplode_outer(集合) 使用 OUTER 語意取消巢狀陣列,並編號位置,以傳回資料列。
reduce(expr,start,merge[,finish]) 使用自訂彙總工具彙總數組中的項目。
反轉(陣列) 傳回反轉字串或具有項目反向順序的陣列。
sequence(start,stop,step) 生成一個從startstop(包含)的元素陣列,每次增加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) 傳回 arrayExprindex 處的元素,如果 index 超出範圍,則傳回 NULL
zip_with(expr1, expr2, func) 使用funcexpr1expr2中的數組逐元素合併成單一陣列。

地圖功能

函式 描述
mapExpr[keyExpr] 傳回 MAP mapExpr 中位於 keyExpr 的值。
cardinality(expr) 傳回 expr 的大小。
element_at(mapExpr, key) 傳回 mapExprkey 值。
explode(collection) 透過解除巢狀 expr 傳回資料列。
explode_outer(collection) 使用外層語意,透過解除巢狀結構 expr 傳回資料列。
map([{key1, value1}[, …]]) 使用指定的索引鍵/值組對建立映射。
map_concat([expr1 [, …]]) 返回所有 expr 映射運算式的聯集。
map_contains_key(映射, 鍵) 如果 true 包含 map,則傳回 key,否則傳回 false
map_entries(map) 傳回 map 中所有項目的未排序陣列。
map_filter(expr, func) 使用函式 func篩選 expr中地圖中的項目。
從數組創建映射(keys, values) 建立以 keysvalues 陣列為成對組成的映射。
從條目生成映射(expr) 建立從指定項目陣列中創建的映射。
map_keys(map) 傳回未排序的陣列,其中包含 map 的索引鍵。
map_values(map) 傳回未排序的陣列,其中包含 map 的值。
map_zip_with(map1, map2, func) map1map2 合併成單一對應。
size(expr) 回傳 expr 的基數。
str_to_map(expr[,pairDelim[,keyValueDelim]]) expr 使用分隔符拆分為鍵-值對後,返回一個映射。
transform_keys(expr, func) 使用函式funcexpr中的索引鍵進行轉換。
transform_values(expr, func) 使用函式 expr來轉換 func 映射中的值。
try_element_at(mapExpr, key) 如果 key 不存在,則傳回值 NULL,否則傳回 key 的值 mapExpr

日期、時間戳記和間隔函式

如需日期和時間格式的資訊,請參閱 日期時間模式

功能 描述
intervalExpr / divisor 傳回除以 divisor 的間隔。
- intervalExpr 傳回 intervalExpr 的負值。
intervalExpr1 - intervalExpr2 傳回 intervalExpr2intervalExpr1 的差集。
datetimeExpr1 - datetimeExpr2 傳回 datetimeExpr2datetimeExpr1 的差集。
+ intervalExpr 傳回 intervalExpr 的值。
intervalExpr1 + intervalExpr2 傳回 intervalExpr1intervalExpr2 的總和。
intervalExpr * multiplicand 傳回 intervalExpr 乘以 multiplicand
abs(expr) 傳回 expr 中間隔值的絕對值。
add_months(startDate,numMonths) 傳回 numMonths 之後的日期 startDate
curdate() 傳回查詢評估開始時的目前日期。
current_date() 傳回查詢評估開始時的目前日期。
current_timestamp() 傳回查詢評估開始時的目前時間戳記。
current_timezone() 傳回當前會話的本地時區。
date(expr) 將值 expr轉換成 DATE。
date_add(startDate,numDays) 傳回 numDays 之後的日期 startDate
date_add(unit, value, expr) 將 s 加入valueunit至時間戳記。 expr
日期差異(單位, 起始, 結束) 傳回以 unit 測量的兩個時間戳記之間的差異。
date_format(expr,fmt) 以 格式 fmt將時間戳記轉換為字串。
從 Unix 日期獲取日期(days) 根據自 1970-01-01起的天數來建立日期。
date_part(field,expr) 擷取日期、時間戳記或間隔中的一部分。
date_sub(startDate,numDays) 傳回 numDays 之前的日期 startDate
date_trunc(unit,expr) 傳回截斷至 unit 中所指定單位的時間戳記。
dateadd(startDate,numDays) 傳回 numDays 之後的日期 startDate
dateadd(unit, value, expr) valueunit添加到expr的時間戳記中。
datediff(endDate,startDate) 傳回從 startDateendDate 的天數。
datediff(單位, 開始, 結束) 傳回以 unit 測量的兩個時間戳記之間的差異。
day(expr) 傳回日期或時間戳記的月份日期。
dayname(expr) 傳回指定日期一周當天的三個字母英文縮寫。
dayofmonth(expr) 傳回日期或時間戳記中當月的日期。
dayofweek(expr) 傳回日期或時間戳記的星期數。
dayofyear(expr) 傳回日期或時間戳記的年份日期。
divisor div dividend 傳回間隔 divisor 除以間隔 dividend 的整數部分。
從來源提取(字段) 傳回 fieldsource
from_unixtime(unixTime,fmt) 傳回 unixTime 中的 fmt
from_utc_timestamp(expr,timezone) 傳回UTC上的時間戳,對於exprtimeZone上的時間戳。
getdate() 傳回查詢評估開始時的目前時間戳記。
hour(expr) 傳回時間戳記的小時元件。
last_day(expr) 傳回日期所屬月份的最後一天。
make_date(year,month,day) yearmonthday欄位建立日期。
make_dt_interval([days[, hours[, mins[, secs]]]]) dayshoursminssecs建立日時間間隔。
製作間隔(年, 月, 週, 天, 小時, 分鐘, 秒) 已淘汰:從 yearsmonthsweeksdayshoursminssecs 建立間隔。
make_timestamp(year,month,day,hour,min,sec[,timezone]) yearmonth、、、dayhourminsectimezone欄位建立時間戳記。
make_ym_interval([years[, months]]) yearsmonths建立年月間隔。
minute(expr) 傳回expr中時間戳的分鐘部分。
month(expr) 傳回 expr 中時間戳記的月份分量。
months_between(expr1,expr2[,roundOff]) 傳回 expr1expr2 中的日期或時間戳記之間相隔的月數
next_day(expr,dayOfWeek) 傳回第一個晚於 expr 並命名為 dayOfWeek 的日期。
now() 傳回查詢評估開始時的目前時間戳記。
季度(expr) 傳回 expr 在年度中的季度,範圍為 1 到 4。
second(expr) 傳回時間戳記的第二分量,單位為 expr.
session_window(expr, gpDuration) 在時間戳記表示式上建立工作階段視窗。
sign(expr) 傳回 -1.0、0.0 或 1.0,因為間隔 expr 為負數、0 或正數。
signum(expr) 傳回 -1.0、0.0 或 1.0,因為間隔 expr 為負數、0 或正數。
timediff(unit, start, stop) 傳回以 unit 測量的兩個時間戳記之間的差異。
timestamp(expr) expr 轉換成 TIMESTAMP
timestamp_micros(expr) 建立自UTC epoch以來的時間戳記 expr微秒數。
timestamp_millis(expr) 建立一個從UTC紀元開始的expr毫秒時間戳記。
timestamp_seconds(expr) 建立自協調世界時起始時間以來的 expr 秒數的時間戳記。
timestampadd(unit, value, expr) 在時間戳記 expr 中新增 valueunits。
timestampdiff(unit, start, stop) 傳回以 unit 測量的兩個時間戳記之間的差異。
to_date(expr[,fmt]) 傳回 expr,並使用選用的格式轉換為日期。
to_timestamp(expr[,fmt]) 使用選用格式將 expr 轉換為時間戳記並傳回。
to_unix_timestamp(expr[,fmt]) 傳回 expr 中的時間戳記為 UNIX 時間戳記。
to_utc_timestamp(expr,timezone) UTC返回 位於timezone的 時間戳,對於 位於expr的時間戳。
trunc(expr, fmt) 傳回日期,其日期的部分被截斷至由格式模型 fmt 指定的單位。
try_add(expr1, expr2) 傳回 expr1expr2 的總和 ,如果發生錯誤,則傳回 NULL。
try_divide(dividend, divisor) 傳回 dividend 除以 divisor ,若 divisor 為 0 則傳回為 NULL。
try_multiply(multiplier, multiplicand) 傳回 multiplier 乘以 multiplicand,溢位時則傳回 NULL
try_subtract(expr1, expr2) 傳回 expr2expr1 的結果,溢位時則傳回 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) 傳回視窗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 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) yearmonthday欄位建立日期。
make_dt_interval([days[, hours[, mins[, secs]]]]) dayshoursminssecs建立日時間間隔。
建立間隔(年, 月, 週, 日, 小時, 分, 秒) years、、monthsweeksdayshoursminssecs建立間隔。
make_timestamp(year,month,day,hour,min,sec[,timezone]) yearmonth、、、dayhourminsectimezone欄位建立時間戳記。
make_ym_interval([years[, months]]) yearsmonths建立年月間隔。
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) 傳回以格式 fmtexpr 轉換為 STRING
to_date(expr[,fmt]) 傳回將 expr 轉換為日期的結果,可以選擇性地使用格式化。
to_number(expr, fmt) 傳回 expr 轉換為 DECIMAL 使用格式 fmt
to_timestamp(expr[,fmt]) expr 轉換為時間戳記,並可選擇格式化。
to_varchar(expr, fmt) 使用格式 fmtexpr 轉換為 STRING
try_cast(expr AS type) 安全地將值 expr轉換成目標資料類型。type
try_to_number(expr, fmt) expr 格式化為 DECIMAL,並傳回 fmt,若 expr 無效則傳回 NULL

CSV 和 Avro 函式

函式 描述
from_avro(avroBin, jsonSchema[, options]) 根據avroBinjsonSchema傳回一個結構值。
from_csv(csvStr, schema[, options]) 傳回結構值為 csvStrschema 的字串。
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]) 傳回結構值為 jsonStrschema 的字串。
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]) 傳回 DDL 格式 JSON 字串的結構描述。
schema_of_json_agg(jsonStr[, options]) 以 DDL 格式返回群組中 JSON 個字串的合併結構描述。
to_json(expr[, options]) 傳回 JSON 字串,並在 STRUCT 中指定 VARIANTexpr

變異函式

函式 描述
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) 以 DDL 格式傳回群組中所有 VARIANT 值的合併架構。
to_json(expr[, options]) 傳回 JSON 字串,並在 STRUCT 中指定 VARIANTexpr
try_parse_json(jsonStr) 可能的話,從 VARIANT 傳回 jsonStr 值。 如果不可能,則會傳回 NULL
try_variant_get(variantExpr,path,type) variantExpr中根據path提取type類型的值,如果無法轉換為目標類型,則返回NULL
variant_explode(input) 透過展開 input邏輯結構來傳回一組數據列。
variant_explode_outer(input) 使用外部語意,透過將 input 解嵌來傳回一組行。
variant_get(variantExpr,path,type) variantExpr中擷取由path指定的type類型的值。

XPath 和 XML 函式

功能 描述
from_xml(xmlStr, schema[, options]) 傳回使用 xmlStr 解析出來的結構值 schema
schema_of_xml(xmlStr[, options]) 傳回 DDL 格式 XML 字串的結構描述。
xpath(xml, xpath) 傳回符合 xmlxpath 節點內的值。
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_classify(content, labels) 將提供的內容分類為其中一個提供的標籤。
ai_extract(content, labels) 從指定的文字擷取由標籤指定的實體。
ai_fix_grammar(content) 更正指定文字中的文法錯誤。
ai_forecast(observed, time_col) 將時間序列資料延伸到未來。
ai_gen(content) Databricks Foundation 模型 API 調用最先進的生成式 AI 模型,以回答用戶所提供的提示。
ai_generate_text(prompt, modelName[, param1, value1] […]) 已棄用:根據給予的提示,由選取的大型語言模型 (LLM) 產生文字並傳回。
ai_mask(content, labels) 遮罩指定文字中的指定實體。
ai_query(endpointName, request, returnType) 調用現有的 Mosaic AI 模型服務端點,剖析並傳回其回應。
ai_similarity(strExpr1, strExpr2) 比較兩個字串,並計算語意相似度分數。
ai_summarize(content[, max_words]) 產生指定文字的摘要。
ai_translate(content, to_lang) 將文字翻譯成指定的目標語言。
vector_search(index, query, num_results) 使用 SQL 查詢 Mosaic AI 向量搜尋索引。

讀取函式

功能 描述
read_files(path, [optionKey => optionValue] [, …]) 讀取雲端記憶體上的資料檔,並以表格式格式傳回。
read_kafka([optionKey => optionValue] [, …]) 從 Apache Kafka 叢集讀取記錄,並以表格式傳回記錄。
read_kinesis({parameter => value} [, …]) 返回包含從一個或多個數據流中讀取的 Kinesis 記錄的表。
read_pubsub([parameter => value] [, …]) 從主題讀取 Pub/Sub 記錄的資料表值函式。
read_pulsar({optionKey => optionValue} [, …]) 傳回資料表,其中包含從 Pulsar 讀取的記錄。
read_state_metadata(path) 傳回數據表,其中包含代表串流查詢狀態元數據的數據列。
read_statestore(path [, option_key => option_value] […]) 從串流查詢的狀態存放區傳回記錄。

其他函式

函式 描述
assert_true(expr) 如果 expr 不是 true,則傳回錯誤。
CASE expr { WHEN opt1 THEN res1 } […] [ELSE def] END 如果前 resN 個都等於 optN,則傳回 expr;如果都不符合,則傳回 def
CASE { WHEN cond1 THEN res1 } […] [ELSE def] 結束 如果第一個 resN 評估為 true,則傳回 resN;如果找不到,則傳回 def
cloud_files_state({ TABLE(table) | checkpoint } ) 傳回自動載入器 cloud_files 來源的檔案層級狀態。
coalesce(expr1, expr2 [, …]) 傳回第一個非 Null 引數。
定序() 返回可用排序規則的清單。
cube (expr1 [, …]) 使用指定的表達式欄位建立多維度 Cube。
current_catalog() 傳回當前目錄。
current_database() 傳回目前的架構。
current_metastore() 傳回目前的 Unity 目錄中繼存放區識別碼。
當前接收者(key) 傳回與 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 } ) 傳回一個資料表,顯示具體化檢視、串流資料表或 DLT 管線的重新整理歷史記錄。
greatest(expr1, expr2 [, …]) 傳回所有引數的最大值,略過 Null 值。
grouping(col) 指出GROUPING SETROLLUPCUBE中的某個資料行是否代表小計。
grouping_id([col1 [, …]]) 返回一組欄的群組層級。
hash(expr1 [, …]) 傳回引數的雜湊值。
hll_sketch_estimate(expr) 估計 HyperLogLog 草圖中收集的相異值數目。
hll_union(expr1, expr2 [,allowDifferentLgConfigK]) 結合兩個 HyperLogLog 草圖。
http_request({parm => expr} [, ...]) 使用定義的 HTTP 連線提出 HTTP 要求。
java_method(class, method[, arg1 [, …]]) 使用反射調用方法。
if(cond, expr1, expr2) 如果 expr1cond,則傳回 true,否則傳回 expr2
iff(cond, expr1, expr2) 如果 expr1cond,則傳回 true,否則傳回 expr2
ifnull(expr1, expr2) 如果 expr2expr1,則傳回 NULL,否則傳回 expr1
input_file_block_length() 傳回所讀取區塊的位元組長度。
input_file_block_start() 傳回所讀取區塊以位元組為單位的開始偏移量。
input_file_name() 傳回正在讀取的檔名,如果無法使用,則傳回空字串。
is_account_group_member(group) 若目前使用者是帳戶層級群組的成員,則會返回 true。
is_member(group) 如果目前使用者是工作區層級群組的成員,則傳回 true。
isnull(expr) 如果 trueexpr,則傳回 NULL
isnotnull(expr) 如果 true 不是 expr,則傳回 NULL
least(expr1, expr2 [, …]) 傳回所有引數的最小值,略過 Null 值。
list_secrets([scopeStr]) 傳回使用者有權從 Databricks 祕密服務查看的所有或一個範圍中的密鑰。
luhn_check(numStr) 如果 numStr 通過 Luhn 演算法檢查,則傳回 true
monotonically_increasing_id() 傳回單調遞增的 64 位元整數。
nullif(expr1, expr2) 如果 NULL 等於 expr1,則傳回 expr2,否則傳回 expr1
nvl(expr1, expr2) 如果 expr2expr1,則傳回 NULL,否則傳回 expr1
nvl2(expr1, expr2, expr3) 如果 expr2 不是 expr1,則傳回 NULL,否則傳回 expr3
raise_error(expr) 擲出例外,並將 expr 作為訊息。
range(end) 傳回指定範圍內值的數據表。
range(start, end [, step [, numParts]]) 傳回指定範圍內值的數據表。
reflect(class, method[, arg1 [, …]]) 呼叫具有反射的方法。
secret(scope, key) 使用指定的 scopekeyDatabricks 祕密服務擷取祕密值。
session_user() 傳回連線至 Azure Databricks 的使用者。
spark_partition_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 祕密服務擷取具有指定 scopekey 的祕密值,如果無法擷取金鑰,則返回 NULL
typeof(expr) 傳回 expr 的資料類型 DDL 格式類型字串。
user() 傳回執行陳述式的使用者。
uuid() 傳回通用唯一標識碼 (UUID) 字串。
window(expr, width[, step [, start]]) 在時間戳表達式上建立以跳動為基礎的滑動視窗。
xxhash64(expr1 [, …]) 傳回參數的 64 位元雜湊值。
version() 傳回 Apache Spark 版本。