共用方式為


內建函式

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

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

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

另請參閱:

運算元和謂詞

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

操作員 語法 描述
& expr1 & expr2 傳回 ANDexpr1 的按位 expr2
expr1 and expr2 傳回 ANDexpr1 的邏輯 expr2
* 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。
中的 elem [not] in (expr1[, ...]) 如果 true 不等於任何 elem,則傳回 exprN
中的 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
喜歡 str [not] like (pattern[ESCAPE escape]) 如果 str 與具有 patternescape 不相符,則傳回 true。
喜歡 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 的位元運算結果。

運算子優先順序

優先順序 操作員
1 :、 、 ::?::[ ]
2 -(一元), +(一元), ~
3 *、 、 /%div
4 + - \|\|
5 &
6 ^
7 \|
8 ===<=><>!=<<=>>=
9 notexists
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]) 傳回 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 樣式的格式字串傳回格式化字串。
十六進位(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) 傳回字串資料的位元組長度或二進位資料的位元元組數目。
疊加(輸入 將 替換 從 位置 [為 長度]) input 取代 replace ,其開頭為 pos,且長度為 len
疊加(輸入 將 替換 從 位置 [為 長度]) input 取代 replace ,其開頭為 pos,且長度為 len
parse_url(url, partToExtract[, key]) url 擷取組件。
position(substr, str[, pos]) 傳回 substr 中位置 str 之後的第一個 pos 的位置。
position (subtr IN str) 傳回 substr 中位置 str 之後的第一個 pos 的位置。
printf(strfmt[, obj1 [, ...]]] ) 從 printf 樣式的格式字串傳回格式化字串。
randstr(長度) 傳回一個由 length 個英數字元組成的隨機字串。
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 分割成單字陣列。
沙(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 的子字串。
轉換為二進制(expr[, fmt]) 傳回將 expr 根據 fmt 轉換為二進位。
to_char(numExpr, fmt) 傳回以格式 numExprSTRING 轉換為 fmt 的結果。
to_varchar(numExpr, fmt) 傳回以格式 numExprSTRING 轉換為 fmt 的結果。
translate(expr, from, to) 傳回 expr,其中 from 中的所有字元都已由 to中的對應字元取代。
trim([BOTH | LEADING | TRAILING] [trimStr] FROM] str) 去除字串中的字元。
try_aes_decrypt(expr, key[, mode[, padding[, aad]]]) - 此函數嘗試解密使用 AES 算法的數據,包含表達式 (expr)、密鑰 (key)、[模式 (mode)、[填充 (padding)、[附加的認證數據 (aad)]]]。 使用 AES 加密解密二進位檔 expr,並在發生錯誤時傳回 NULL
嘗試轉為二進位(expr [, fmt]) expr 根據 BINARY 轉換為 fmt 返回,若輸入無效則返回 NULL
try_url_decode(str) application/x-www-form-urlencoded 格式轉譯字串,並在發生錯誤時傳回 NULL
try_zstd_decompress(值) 傳回使用 Zstandard 壓縮解壓縮的值,或如果輸入無效,則傳回 NULL
ucase(expr) 傳回 expr,所有字元都變更為大寫。
unbase64(expr) 傳回解碼為二進位的 base64 字串。
unhex(expr) 將十六進位 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 傳回 NOTexpr 的位元運算結果。
股息 / 除數 傳回 dividend 除以 divisor
expr1 |expr2 傳回 ORexpr1 的按位 expr2
- expr 傳回 expr 的負值。
expr1 - expr2 傳回 expr2expr1 的差集。
+ expr 傳回 expr 的值。
expr1 + expr2 傳回 expr1expr2 的總和。
股息 % 除數 傳回 dividend / divisor 後的餘數。
expr1 ^ expr2 傳回 OR (XOR)expr1 的位元運算排除 expr2
expr1 和 expr2 傳回 ANDexpr1 的按位 expr2
乘數 * 乘數 傳回 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]) 使用 expr 四捨五入模式傳回已四捨五入的 HALF_EVEN
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 的餘割。
小數(expr) 將值 expr 轉換為 DECIMAL
度數(表達式) 將弧度轉換為度。
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 之後的餘數。
nanvl(expr1, expr2) 如果不是 expr1,則傳回 NaN;否則傳回 expr2
negative(expr) 傳回 expr 的負值。
'nullifzero(expr)' 如果 expr 不是零,則傳回 expr,否則傳回 。
pi() 傳回 pi。
pmod(除數,除數) 傳回 dividend / divisor 後面的正餘數。
正(expr) 傳回 expr 的值。
pow(expr1, expr2) expr1提升為 expr2的幂。
power(expr1, expr2) expr1提升為 expr2的幂。
radians(expr) expr 的角度轉換為弧度。
rand(種子]) 傳回介於 0 到 1 之間的隨機值。
蘭丁([種子]) 從標準常態分佈傳回隨機值。
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 使用格式 DECIMAL 轉型為 fmt
try_add(expr1, expr2) 傳回 expr1expr2 的總和,若有錯誤,則傳回 NULL
try_divide(除數,除數) 傳回 dividend 除以 divisor ,若 NULL 為 0 則傳回 divisor
try_mod(股息, 除數) 傳回 dividend / divisor 之後的餘數,若 NULL 為 0,則傳回 divisor
try_multiply(乘數、被乘數) 傳回 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)' 如果它不是expr,則返回NULL;否則返回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]]) 傳回在 k 中最常出現的前 expr 個項目值及其相對應的近似計數。
array_agg(expr) 傳回一個包含群組內 expr 所有值的陣列。
avg(expr) 傳回從群組值計算的平均值。
bit_and(expr) 傳回群組中所有輸入值的位運算 AND
bit_or(expr) 傳回群組中所有輸入值的位運算 OR
bit_xor(expr) 傳回群組中所有輸入值的位運算 XOR
bitmap_construct_agg(expr) 傳回群組中所有位置值的位元運算結果OR。 在一個群組中,作為 BINARY,介於 0 到 32767 之間。
bitmap_or_agg(expr) 傳回群組中所有 OR 輸入值執行位元運算 BINARY 的結果。
bool_and(expr) 如果 expr 中的所有值在群組內都為 true,則傳回 true。
bool_or(expr) 如果 expr 中至少有一個值在群組內為 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(列,epsilon,置信度,种子) 使用 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 的最後一個值。
listagg(expr[,delim]) [WITHIN GROUP (ORDER BY 鍵值 [,...]]] 傳回群組內STRING所有值的串連(使用BINARYexpr),並以delim作為分隔。
max(expr) 傳回群組中 expr 的最大值。
max_by(expr1,expr2) 傳回群組中與最大值 expr1 相關的 expr2 的值。
mean(expr) 傳回從群組值計算的平均值。
量值(measure_column) 傳回從群組值計算的計量檢視量值。
median(expr) 傳回從群組值計算的中位數。
min(expr) 傳回群組中 expr 的最小值。
min_by(expr1,expr2) 傳回群組中與最小值 expr1 相關的 expr2 的值。
mode(expr [,deterministic]) 傳回 NULL 在群組中最常出現的值,而非 expr
percentile(運算式, 百分比 [,頻率]) 傳回指定 exprpercentage 的確切百分位數值。
percentile_approx(表達式, 百分比[, 準確性]) 傳回群組中 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) 傳回從一個群組的數值計算出來的樣本標準差。
string_agg(expr[,delim]) [WITHIN GROUP (ORDER BY 索引鍵 [,...]]] 傳回群組內STRING所有值的串連(使用BINARYexpr),並以delim作為分隔。
sum(expr) 傳回從群組值計算的總和。
try_avg(expr) 如果發生溢位,則傳回從群組值計算的平均值 NULL
try_sum(expr) 如果發生溢位,則傳回從群組值計算的總和 NULL
var_pop(expr) 傳回從群組值計算的母體變異數。
var_samp(expr) 傳回從群組值計算的樣本變異數。
變異數(expr) 傳回從群組值計算的樣本變異數。

排序視窗函數

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

分析視窗函式

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

陣列函數

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

地圖功能

函式 描述
mapExpr[keyExpr] 傳回 MAP keyExpr 中位於 mapExpr 的值。
基數(expr) 傳回 expr 的大小。
element_at(mapExpr,金鑰) 傳回 mapExprkey 值。
爆炸(集合) 透過取消巢狀 expr 傳回資料列。
explode_outer(集合) 透過取消巢狀 expr 利用外部語意返回列。
map([{key1, value1}[, ...]]] ) 使用指定的索引鍵/值組對建立映射。
map_concat([expr1,...]) 返回所有 expr 映射運算式的聯集。
map_contains_key(映射, 鍵) 如果 true 包含 map,則傳回 key,否則傳回 false
map_entries(地圖) 傳回 map 中所有項目的未排序陣列。
map_filter(expr, func) 使用函式 expr篩選 func中地圖中的項目。
從數組創建映射(keys, values) 建立以 keysvalues 陣列為成對組成的映射。
從條目生成映射(expr) 建立從指定項目陣列中創建的映射。
map_keys(地圖) 傳回未排序的陣列,其中包含 map 的索引鍵。
map_values(地圖) 傳回未排序的陣列,其中包含 map 的值。
map_zip_with(map1, map2, func) map1map2 合併成單一對應。
size(expr) 傳回 expr 的基數。
str_to_map(expr[,pairDelim[,keyValueDelim]]] ) expr 使用分隔符拆分為鍵-值對後,返回一個映射。
transform_keys(expr, func) 使用函式exprfunc中的索引鍵進行轉換。
transform_values(expr, func) 使用函式 expr來轉換 func 映射中的值。
try_element_at(mapExpr,鍵) 如果 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(單位、值、expr) 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(單位,expr) 傳回的時間戳記已截斷至由 unit 指定的單位。
dateadd(startDate,numDays) 傳回 numDays 之後的日期 startDate
dateadd(單位, 值, 表達式) 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(年,月,日) yearmonthday欄位建立日期。
make_dt_interval([days[, hours[, mins[, secs]]]) dayshoursminssecs建立日時間間隔。
製作間隔(年, 月, 週, 天, 小時, 分鐘, 秒) 已淘汰:從 yearsmonthsweeksdayshoursminssecs 建立間隔。
make_timestamp(year,month,day,hour,min,sec[,timezone]) yearmonth、、、dayhourminsectimezone欄位建立時間戳記。
make_ym_interval([年份[, 月份]]) 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 或正數。
時間差(單位, 開始, 結束) 傳回以 unit 測量的兩個時間戳記之間的差異。
timestamp(expr) expr 轉換成 TIMESTAMP
timestamp_micros(expr) 建立自UTC epoch以來,以微秒為單位的時間戳記 expr
timestamp_millis(expr) 建立一個從UTC紀元開始的expr毫秒時間戳記。
timestamp_seconds(expr) 建立自協調世界時起始時間以來的 expr 秒數的時間戳記。
timestampadd(單位, 數值, 表達式) valueunit添加到時間戳記 expr
時間戳差分(單位, 開始, 結束) 傳回以 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 ,若 divisor 為 0 則傳回為 NULL。
try_multiply(乘數、被乘數) 傳回 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 所在的星期幾。
年中的週數(expr) 傳回 expr 的年度週數。
year (expr) 傳回 expr 的年份組件。
window(expr, width[, step[, start]]) 在時間戳表達式上建立以跳動為基礎的滑動視窗。
視窗時間(window) 傳回視窗session_window 函式所產生的滑動視窗內含結束時間。

H3 地理空間函式

如需 H3 地理空間函式的相關資訊,請參閱 H3 地理空間函式

轉換函式和建構函式

如需類型之間轉換的資訊,請參閱 cast 函式try_cast 函式

函式 描述
array([expr [, ...]]]) 傳回包含 expr 中元素的陣列。
bigint(expr) 將值 expr 轉換為 BIGINT
binary(expr) expr 的值轉換為 BINARY
boolean(expr) expr 轉換成 BOOLEAN
cast(expr AS type) 將值 expr 轉換成目標資料類型 type
expr :: type 將值 expr 轉換成目標資料類型 type
date(expr) 將值 expr 轉換為 DATE
小數(expr) 將值 expr 轉換為 DECIMAL
double(expr) 將值 expr 轉換為 DOUBLE
float(expr) 將值 expr 轉換為 FLOAT
int(expr) 將值 expr 轉換為 INTEGER
make_date(年,月,日) 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([年份[, 月份]]) 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) 傳回以格式 exprSTRING 轉換為 fmt 的結果。
to_date(expr[,fmt]) 傳回 expr,並使用選用的格式轉換為日期。
to_number(expr, fmt) 傳回 expr 轉換為 DECIMAL 使用格式 fmt
to_timestamp(expr[,fmt]) 使用選用格式將 expr 轉換為時間戳記並傳回。
to_varchar(expr, fmt) 傳回以格式 exprSTRING 轉換為 fmt 的結果。
try_cast(expr AS 類型) 安全地將值 expr轉換成目標資料類型。type
嘗試轉為數字(expr, fmt) expr 格式化為 DECIMAL,並傳回 fmt,若 NULL 無效則傳回 expr

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) JSON中提取path物件。
json_array_length(jsonArray) 傳回最外層 JSON陣列中的元素數目。
json_object_keys(jsonObject) 傳回最外層 JSON 物件的所有索引鍵做為陣列。
json_tuple(jsonStr, path1 [, ...]) 以元組的形式傳回多個 JSON 物件。
parse_json(jsonStr) VARIANT 傳回 jsonStr 值。
schema_of_json(jsonStr[, options]) 傳回 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) VARIANT 傳回 jsonStr 值。
schema_of_variant(variantExpr) 傳回 DDL 格式 VARIANT 表示式的架構。
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) type中根據variantExpr提取path類型的值,如果無法轉換為目標類型,則返回NULL
variant_explode(輸入) 透過展開 input邏輯結構來傳回一組數據列。
variant_explode_outer(輸入) 使用外部語意,透過將 input 解嵌來傳回一組行。
variant_get(variantExpr,path,type) type中擷取由variantExpr指定的path類型的值。

XPath 和 XML 函式

函式 描述
from_xml(xmlStr, schema[, options]) 傳回使用 xmlStr 解析出來的結構值 schema
schema_of_xml(xmlStr[, options]) 傳回 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(內容) 返回文字的情感分析結果。
ai_classify(內容, 標籤) 將提供的內容分類為其中一個提供的標籤。
ai_extract(內容、標籤) 從指定的文字擷取由標籤指定的實體。
ai_修正語法[內容] 更正指定文字中的文法錯誤。
ai_forecast(observed, time_col) 人工智慧預測(觀察值, 時間欄位) 將時間序列資料延伸到未來。
ai_gen(內容) Databricks Foundation 模型 API 調用最先進的生成式 AI 模型,以回答用戶所提供的提示。
ai_generate_text(prompt, modelName[, param1, value1] [...]) 已棄用:根據給予的提示,由選取的大型語言模型 (LLM) 產生文字並傳回。
ai_mask(內容、標籤) 遮罩指定文字中的指定實體。
ai_query(endpointName, request, returnType) 調用現有的 Mosaic AI 模型服務端點,剖析並傳回其回應。
ai_similarity(strExpr1,strExpr2) 比較兩個字串,並計算語意相似度分數。
ai_summarize(content[, max_words]) 產生指定文字的摘要。
ai_translate(內容,目標語言) 將文字翻譯成指定的目標語言。
vector_search(索引、查詢、結果數量) 使用 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(路徑) 傳回數據表,其中包含代表串流查詢狀態元數據的數據列。
read_statestore(path [, option_key => option_value] […]) 讀取狀態儲存(路徑,[選項鍵 = 選項值] […]) 從串流查詢的狀態存放區傳回記錄。

雜項函式

函式 描述
assert_true(expr) 如果 expr 不是 true,則傳回錯誤。
CASE 表達式 { WHEN 選項1 THEN 結果1 } […] [ELSE def]結束 如果前 resN 個都等於 optN,則傳回 expr;如果都不符合,則傳回 def
CASE { WHEN cond1 THEN res1 } [...] [ELSE def]結束 如果第一個 resN 評估為 true,則傳回 resN;如果找不到,則傳回 def
cloud_files_state({ TABLE(表格)| 檢查點 } ) 傳回自動載入器 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 } ) 傳回一個包含具體化檢視、串流數據表或管線的刷新紀錄的數據表。
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(群組) 若目前使用者是帳戶層級群組的成員,則會返回 true。
is_member(群組) 如果目前使用者是工作區層級群組的成員,則傳回 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(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,開始 [,結束]) 傳回具有變更資料饋送功能的 Delta Lake 資料表的變更記錄。
try_reflect(class, method[, arg1 [, ...]]]) 呼叫反映的方法,如果方法失敗,則傳回 NULL
try_secret(範圍,金鑰) scope擷取具有指定 key 的祕密值,如果無法擷取金鑰,則返回 NULL
typeof(expr) 傳回 expr 的資料類型的 DDL 格式類型字串。
user() 傳回執行陳述式的使用者。
uuid() 傳回通用唯一標識碼 (UUID) 字串。
window(expr, width[, step [, start]]) 在時間戳表達式上建立以跳動為基礎的滑動視窗。
xxhash64(expr1 [, ...]) 傳回參數的 64 位元雜湊值。
version() 傳回 Apache Spark 版本。