共用方式為


內建函式

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

本文提供字串和二進位類型、數值純量、彙總、windows、陣列、地圖、日期和時間戳記、轉型、CSV 資料、JSON 資料、XPath 操作和其他函式之內建運算子和函式的連結和描述。

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

另請參閱:

運算子和述詞

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

Operator 語法 描述
& expr1 & expr2 傳回 ANDexpr1 的位元運算 expr2
and expr1 and expr2 傳回 ANDexpr1 的邏輯 expr2
* multiplier * multiplicand 傳回 multiplier 乘以 multiplicand
!= expr1 != expr2 如果 expr1 不等於 expr2,則傳回 true,否則傳回 false
! !expr 傳回布林運算式的邏輯 NOT
between 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 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 被視為可比較的值。
為 False expr is [not] false 測試是否 expr 是 (不是) false
為 NULL expr is [not] null 如果 true 不是 expr,則傳回 NULL
為 True 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 not expr 傳回布林運算式的邏輯 NOT
or 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 傳回的 NOT 的位元運算 expr

運算子優先順序

優先順序 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) 傳回字串資料的字元長度或二進位資料的位元組數目。
character_length(expr) 傳回字串資料的字元長度或二進位資料的位元組數目。
charindex(substr, str[, pos]) 傳回 substr 中位置 str 之後出現第一個 pos 的位置。
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) 傳回從 len 最左邊的 str 個字元。
len(expr) 傳回字串資料的字元長度或二進位資料的位元組數目。
length(expr) 傳回字串資料的字元長度或二進位資料的位元組數目。
levenshtein(str1, str2) 傳回字串 str1str2 之間的 Levenshtein 距離。
str like (pattern[ESCAPE escape]) 如果 strpatternescape 的組合相符,則傳回 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) 以十六進位字串傳回 expr 的 MD5 128 位元總和檢查碼。
octet_length(expr) 傳回字串資料的位元組長度或二進位資料的位元元組數目。
overlay(input PLACING replace FROM pos [FOR len]) input 取代 replace ,其開頭為 pos,且長度為 len
overlay(input PLACING replace FROM pos [FOR 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 個英數字元組成的隨機字串。
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) 分割 str 出現處周圍的 delim,並傳回 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) 傳回使用格式 numExpr 轉換為 STRINGfmt
to_varchar(numExpr, fmt) 傳回使用格式 numExpr 轉換為 STRINGfmt
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]) 根據 exprBINARY 轉為 fmt 傳回,若輸入無效則傳回 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 傳回 ORexpr1 的位元運算 expr2
- expr 傳回 expr 的負值。
expr1 - expr2 傳回 expr2expr1 的差集。
+ expr 傳回 expr 的值。
expr1 + expr2 傳回 expr1expr2 的總和。
dividend % divisor 傳回 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) 傳回藉由反轉 引數中位的順序所取得的值。
bitmap_bit_position(expr) 傳回貯體中指定 BIGINT 數位的 0 位位置。
bitmap_bucket_number(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, 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) 傳回 e 的自然對數 (基本 expr)。
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)' 如果不是零,則exprNULL回 ,否則傳回 。
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]) 使用 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 轉換為 DECIMALfmt
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
try_to_number(expr, fmt ) 使用格式 exprDECIMAL 轉換為 fmt,如果 NULL 不符合格式,則傳回 expr
均勻分布(expr1, expr2[,seed]) 傳回在指定數位範圍內具有獨立且相同分佈值的隨機值。
width_bucket(expr, minExpr, maxExpr, numBuckets) 傳回等寬直方圖中值的貯體編號。
'zeroifnull(expr)' 如果 不是 expr,則NULL0回 ,否則傳回 。

彙總函數

函式 描述
any(expr) 如果群組中至少有一個值 expr 為 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]]) 傳回 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。 在群組中介於 0 到 32767 之間,做為 BINARY
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 CI 群組的 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[,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) 傳回由群組數值計算出的峰度值。
last(expr[,ignoreNull]) 傳回資料列群組之 expr 的最後一個值。
last_value(expr[,ignoreNull]) 傳回資料列群組之 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(expr, percentage [,frequency]) 傳回指定 exprpercentage 的確切百分位數值。
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) 傳回由 xExprxExpryExpr 的群組值計算出的 NOT NULL 的平均值。
regr_avgy(yExpr, xExpr) 傳回由 yExprxExpryExpr 的群組值計算出的 NOT NULL 的平均值。
regr_count(yExpr, xExpr) 傳回群組中非空值組 yExprxExpr 的數目。
regr_intercept(yExpr, xExpr) 傳回群組中單變數線性回歸線的截距,其中 xExpryExpr 為 NOT NULL。
regr_r2(yExpr, xExpr) 從群組的值傳回決定係數,其中 xExpryExpr 為 NOT NULL。
regr_slope(yExpr, xExpr) 傳回群組中非空值對 yExprxExpr 的線性回歸線斜率。
regr_sxx(yExpr, xExpr) 傳回 xExprxExpr 為 NOT NULL 的群組 yExpr 值的平方和。
regr_sxy(yExpr, xExpr) 傳回由 yExprxExprxExpr 的群組值計算出的 yExprNOT NULL 的乘積之和。
regr_syy(yExpr, xExpr) 傳回 yExprxExpr 為 NOT NULL 的群組 yExpr 值的平方和。
schema_of_json_agg(json[, options]) 以 DDL 格式返回群組中 JSON 個字串的合併結構描述。
schema_of_variant_agg(variantExpr) 以 DDL 格式傳回群組中所有 VARIANT 值的合併結構描述。
skewness(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]) 傳回視窗中特定 expr 處的值 offset

陣列函數

函式 描述
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_insert(array, index, elem) 傳回已展開的 array,其中 elem 已插入 index 位置。
array_intersect(array1,array2) 傳回 array1array2 交集中元素的陣列。
array_join(array,delimiter[,nullReplacement]) 串連 array 的元素。
array_max(array) 傳回 array 中的最大值。
array_min(array) 傳回 array 中的最小值。
array_position(array,element) 傳回 element 中出現第一個 array 的位置。
array_prepend(array, elem) 傳回 array,前面加上 elem
array_remove(array,element) element移除 的所有項目array
array_repeat(element,count) 傳回包含 elementcount 時間的陣列。
array_size(array) 傳回 array 中的元素數目。
array_sort(array,func) 傳回根據 array 排序的 func
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) 返回 arrayExpr 處的 index 元素。
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) 傳回 arrayExprindex,從 0 開始的元素。
內嵌(輸入) 將結構陣列分解成資料表。
inline_outer(輸入) 將結構數位分解成具有外部語意的資料表。
posexplode(collection) 將具有位置編號的陣列取消巢狀,以傳回資料列。
posexplode_outer(集合) 使用 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) 使用 expr函式轉換 func中陣列中的元素。
try_element_at(arrayExpr, index) 傳回 arrayExprindex 處的元素,如果 NULL 超出範圍,則傳回 index
zip_with(expr1, expr2, func) 使用 將和expr1中的expr2數組合並成單一陣列func

對應函式

函式 描述
mapExpr[keyExpr] 傳回對應 keyExprmapExpr 值。
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(map, key) 如果 true 包含 map,則傳回 key,否則傳回 false
map_entries(map) 傳回 map 中所有項目的未排序陣列。
map_filter(expr, func) 使用 expr函式篩選 func中對應中的項目。
map_from_arrays(keys, values) 建立具有一對 keysvalues 陣列的對應。
map_from_entries(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) 使用 expr函式轉換 func中對應中的索引鍵。
transform_values(expr, func) 使用 expr函式 轉換 func中的對應值。
try_element_at(mapExpr, key) 傳回 mapExpr 的值 key,如果 NULL 不存在,則傳回值 key

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

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

函式 描述
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
date_diff(unit, start, stop) 傳回以 unit 測量的兩個時間戳記之間的差異。
date_format(expr,fmt) 以 格式 fmt將時間戳記轉換為字串。
date_from_unix_date(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) 將 s 加入valueunit至時間戳記。 expr
datediff(endDate,startDate) 傳回從 startDateendDate 的天數。
datediff(unit, start, stop) 傳回以 unit 測量的兩個時間戳記之間的差異。
day(expr) 傳回日期或時間戳記的月份日期。
dayname(expr) 傳回指定日期一周當天的三個字母英文縮寫。
dayofmonth(expr) 傳回日期或時間戳記的月份日期。
dayofweek(expr) 傳回日期或時間戳記的星期數。
dayofyear(expr) 傳回日期或時間戳記的年份日期。
divisor div dividend 傳回間隔 divisor 除以間隔 dividend 的整數部分。
extract(field FROM source) 傳回 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建立日時間間隔。
make_interval(years, months, weeks, days, hours, mins, secs) 已淘汰:從 years、、monthsweeksdayshoursminssecs建立間隔。
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() 傳回查詢評估開始時的目前時間戳記。
quarter(expr) 傳回範圍 1 到 4 中 expr 的年份季度。
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 epoch之後的時間戳記 expr毫秒。
timestamp_seconds(expr) 建立UTC epoch之後的時間戳記 expr秒數。
timestampadd(unit, value, expr) 將 s 加入valueunit至時間戳記。 expr
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回 時間戳的 時間戳exprtimezone
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建立日時間間隔。
make_interval(years, months, weeks, days, hours, mins, secs) 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) 傳回使用格式 expr 轉換為 STRINGfmt
to_date(expr[,fmt]) 傳回使用選用格式化轉換為日期的 expr
to_number(expr, fmt) 傳回使用格式 expr 轉換為 DECIMAL 的 fmt
to_timestamp(expr[,fmt]) 傳回使用選用格式化轉換成時間戳記的 expr
to_varchar(expr, fmt) 傳回使用格式 expr 轉換為 STRINGfmt
try_cast(expr AS type) 安全地將值 expr轉換成目標資料類型。type
try_to_number(expr, fmt) 使用格式化 exprDECIMAL 傳回給 fmt,若格式化 NULL 無效,則傳回 expr

CSV 和 Avro 函式

函式 描述
from_avro(avroBin, jsonSchema[, options]) 根據和avroBin傳回結構值jsonSchema
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) JSONpath取物件。
json_array_length(jsonArray) 傳回最外層 JSON陣列中的元素數目。
json_object_keys(jsonObject) 傳回最外層 JSON 物件的所有索引鍵做為陣列。
json_tuple(jsonStr, path1 [, …]) 以 Tuple 的形式傳回多個 JSON 物件。
parse_json(jsonStr) VARIANT 傳回 jsonStr 值。
schema_of_json(jsonStr[, options]) 傳回 DDL 格式 JSON 字串的結構描述。
schema_of_json_agg(jsonStr[, options]) 以 DDL 格式返回群組中 JSON 個字串的合併結構描述。
to_json(expr[, options]) 傳回 JSON 字串,並在 STRUCT 中指定 VARIANTexpr

VARIANT 函式

函式 描述
variantExpr : jsonPath 傳回使用 JSON 路徑從 variantExpr 擷取的欄位。
is_variant_null(variantExpr) 測試是否 variantExprVARIANT編碼的。NULL
parse_json(jsonStr) VARIANT 傳回 jsonStr 值。
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) typevariantExpr指定的 、擷取 類型的值path,如果NULL無法轉換成目標類型,則為。
variant_explode(輸入) 藉由取消巢狀 input 傳回一組資料列。
variant_explode_outer(輸入) 使用外部語意取消巢狀 input 傳回一組資料列。
variant_get(variantExpr,path,type) 從 指定的 typevariantExpr取 類型的值path

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] END 如果前 resN 個評估為 True,則傳回 condN;如果找不到,則傳回 def
cloud_files_state( { TABLE(table) | checkpoint } ) 傳回自動載入器 cloud_files 來源的檔案層級狀態。
coalesce(expr1, expr2 [, …]) 傳回第一個非 Null 引數。
定序() 傳回可用定序的清單。
cube (expr1 [, …]) 使用指定的運算式資料行建立多維度 Cube。
current_catalog() 傳回目前的目錄。
current_database() 傳回目前的結構描述。
current_metastore() 傳回目前的 Unity 目錄中繼存放區識別碼。
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) 如果 true 等於 expr1 或兩個運算式都是 expr2,則傳回 NULL,否則傳回 false
event_log( { TABLE(table) | pipeline_id } ) 傳回具體化檢視、串流資料表或 DLT 管線之重新整理記錄的資料表。
greatest(expr1, expr2 [, …]) 傳回所有引數的最大值,略過 Null 值。
grouping(col) 指出、 GROUPING SETROLLUP中的CUBE指定資料行是否代表小計。
grouping_id([col1 [, …]]) 傳回一組資料行群組的層級。
hash(expr1 [, …]) 傳回引數的雜湊值。
hll_sketch_estimate(expr) 估計 HyperLogLog 草圖中收集的相異值數目。
hll_union(expr1, expr2 [,allowDifferentLgConfigK]) 結合兩個 HyperLogLog 草圖。
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) 如果 true 透過 numStr檢查,則傳回
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 版本。