內置函數(磚SQL)

本文提供的鏈接和描述的內置運營商、字符串和二進製類型和功能,數字標量、聚合、窗戶、數組、地圖、日期和時間戳,鑄造、CSV數據,JSON數據,XPath操縱和其他功能。

還看到:

運營商和謂詞

信息運營商如何解析彼此,明白了運算符優先級

操作符

語法

描述

&

expr1&expr2

返回位和expr1expr2

expr1expr2

返回的邏輯,expr1expr2

*

乘數*被乘數

返回乘數乘以被乘數

! =

expr1! =expr2

返回true,如果expr1不等於expr2,或否則。

!

expr !

返回邏輯一個布爾表達式。

之間的

expr1(不)之間的expr2expr2

測試是否expr1是大於或等於expr2和小於或等於expr3

[]

arrayExpr(indexExpr]

返回indexExpr釹元素的數組arrayExpr

[]

mapExpr(keyExpr]

返回值keyExpr的地圖mapExpr

^

expr1^expr2

返回位獨家(XOR)expr1expr2

:

jsonStr:jsonPath

返回字段提取jsonStr

::

expr::類型

強製類型轉換的值expr到目標數據類型類型

div

除數div股息

回報部門的有效組成部分除數通過股息

mapExprkeyIdentifier

返回一個地圖價值keyIdentifier

structExprfieldIdentifier

返回一個結構體場的fieldIdentifier

= =

expr1= =expr2

返回真正的如果expr1=expr2,或否則。

=

expr1=expr2

返回真正的如果expr1=expr2,或否則。

> =

expr1> =expr2

返回真正的如果expr1大於或等於什麼expr2,或否則。

>

expr1>expr2

返回真正的如果expr1大於expr2,或否則。

存在

存在(查詢)

返回true,如果查詢否則返回至少一行,或假。

我喜歡

str(不)我喜歡(模式[逃脫逃避)

返回true,如果str(不)匹配嗎模式逃避不區分大小寫。

我喜歡

str(不)我喜歡{任何一些| |}([[模式,…]])

返回true,如果str(不)匹配任何/所有模式不區分大小寫。

初步的(不)(expr1 [,…)

返回真正的如果初步的(不)等於嗎exprN

初步的(不)(查詢)

返回真正的如果初步的(不)一樣行嗎查詢

是不同的

expr1(不)截然不同的expr2

測試參數(不)有不同的值是否在零位是比較值。

是假的

expr(不)

測試是否expr(不)

為空

expr(不)

返回真正的如果expr(不)

是真的

expr(不)真正的

測試是否expr(不)真正的

就像

str(不)就像(模式[逃脫逃避)

返回true,如果str(不)匹配嗎模式逃避

就像

str(不)就像{任何一些| |}([[模式,…]])

返回true,如果str(不)匹配任何/所有模式。

< = >

expr1< = >expr2

返回相同的結果等於(=)非空操作數,但回報真正的如果兩者都是,如果他們中的一個

< =

expr1< =expr2

返回真正的如果expr1小於或等於什麼expr2,或否則。

< >

expr1< >expr2

返回真正的如果expr1不等於expr2,或否則。

<

expr1<expr2

返回真正的如果expr1小於expr2,或否則。

- - - - - -

expr1- - - - - -expr2

返回的減法expr2expr1

expr

返回邏輯一個布爾表達式。

expr1expr2

返回邏輯expr1expr2

%

股息%除數

返回後的剩餘股息/除數

| |

expr1| |expr2

返回的連接expr1expr2

|

expr1|expr2

返回位expr1expr2

+

expr1+expr2

回報的總和expr1expr2

正則表達式

str(不)正則表達式正則表達式

返回true,如果str(不)匹配嗎正則表達式

regexp_like

str(不)regexp_like正則表達式

返回true,如果str(不)匹配嗎正則表達式

rlike

str(不)rlike正則表達式

返回true,如果str(不)匹配嗎正則表達式

/

股息/除數

返回股息除以除數

~

~expr

返回位expr

運算符優先級

優先級

操作符

1

:,::,(]

2

- - - - - -(一元),+(一元),~

3

*,/,%,div

4

+,- - - - - -,| |

5

&

6

^

7

|

8

=,= =,< = >,< >,! =,<,< =,>,> =

9

,存在

10

之間的,,rlike,正則表達式,我喜歡,就像,(不)(空,真的,假),(不)截然不同的

11

12

和二進製字符串函數

函數

描述

expr1 | | expr2

返回的連接expr1expr2

aes_decrypt (expr、關鍵(模式[,填充]])

解密一個二進製expr使用AES加密。

aes_encrypt (expr、關鍵(模式[,填充]])

加密二進製expr使用AES加密。

ascii (str)

返回的第一個字符的ASCII代碼點str

base64 (expr)

轉換expr一個基地64字符串。

本(expr)

返回的二進製表示expr

二進製(expr)

投下的價值expr二進製。

bit_length (expr)

返回字符串數據的比特長度或二進製數據的位數。

btrim (str [trimStr])

返回str刪除前導和尾隨字符。

char (expr)

返回字符的utf - 16提供代碼點。

char_length (expr)

返回字符串數據的字符或二進製數據的字節數。

character_length (expr)

返回字符串數據的字符或二進製數據的字節數。

charindex(字符串的子串,str (pos))

返回第一次出現的位置字符串的子串str後的位置pos

科(expr)

返回字符的utf - 16提供代碼點。

concat (expr1 expr2 […])

返回的連接參數。

concat_ws(9月[,expr1 […]])

返回的連接字符串分隔9月

包含(expr subExpr)

返回真正的如果expr字符串或二進製文件包含subExpr

crc32 (expr)

返回一個循環冗餘校驗值expr

字符集解碼(expr)

二進製翻譯expr一個字符串使用字符集編碼字符集

字符集編碼(expr)

返回一個字符串使用的二進製表示字符集字符編碼。

endswith (expr endExpr)

返回真正的如果expr字符串或二進製結尾endExpr

find_in_set (searchExpr sourceExpr)

返回一個字符串的位置在一個以逗號分隔的字符串。

format_number (expr、規模)

格式expr就像#,# # #,# # # # #圓形的,規模位小數。

fmt format_number (expr)

格式expr就像fmt

format_string (strfmt[,其中obj1 […]])

返回一個格式化字符串從printf-style格式字符串。

十六進製(expr)

轉換expr十六進製。

str我喜歡(模式[逃脫逃脫])

返回true,如果str匹配模式逃避區分大小寫。

initcap (expr)

返回expr與每個單詞的第一個字母大寫。

字符串的子串instr (str)

返回第一次出現的(基於)指數字符串的子串str

lcase (expr)

返回expr與所有字符改為小寫。

左(str, len)

返回最左邊的len中的人物str

長度(expr)

返回字符串數據的字符或二進製數據的字節數。

levenshtein (str1 str2)

返回字符串之間的Levenshtein距離str1str2

str(模式(逃脫逃脫))

返回true,如果str匹配模式逃避

定位(字符串的子串,str (pos))

返回第一次出現的位置字符串的子串str後的位置pos

低(expr)

返回expr與所有字符改為小寫。

lpad (expr len [, pad])

返回expr,left-padded的長度len

ltrim (trimstr, str)

返回str與主要角色在trimStr移除。

md5 (expr)

返回一個MD5 128位的校驗和expr作為一個十六進製字符串。

octet_length (expr)

返回字符串數據的字節長度或二進製數據的字節數。

覆蓋(輸入從pos (len)將取代)

替換輸入取代在開始的pos和的長度len

parse_url (url, partToExtract [,])

精華的部分url

位置(字符串的子串,str (pos))

返回第一次出現的位置字符串的子串str後的位置pos

位置(str subtr)

返回第一次出現的位置字符串的子串str後的位置pos

printf (strfmt[,其中obj1 […]])

返回一個格式化字符串從printf-style格式字符串。

str regexp正則表達式

返回true,如果str匹配正則表達式

的str regexp_like正則表達式

返回true,如果str匹配正則表達式

regexp regexp_count (str)

返回的次數str匹配正則表達式模式。

regexp_extract (str regexp [, idx])

提取第一個字符串str相匹配的正則表達式表達和對應正則表達式組索引。

regexp_extract_all (str regexp [, idx])

提取所有字符串str相匹配的正則表達式表達和對應正則表達式組索引。

regexp regexp_instr (str)

返回第一子串的位置str相匹配正則表達式

regexp_replace (str regexp,代表[,])

替換的子字符串str相匹配的正則表達式代表

regexp regexp_substr (str)

返回第一個字符串str相匹配正則表達式

重複(expr n)

返回字符串重複exprn次了。

取代(str、搜索(取代)

替換出現的所有搜索取代

反向(expr)

返回一個逆轉倒序的字符串或一個數組元素。

右(str, len)

返回最右邊的len字符的字符串str

str rlike正則表達式

返回true,如果str匹配正則表達式

rpad (expr len [, pad])

返回expr,right-padded的長度len

空白(trimStr, str)

返回str與落後的字符刪除。

句子(str(,郎朗、國家))

分裂str成一個數組的數組。

沙(expr)

返回一個sha1哈希值的十六進製字符串expr

sha1 (expr)

返回一個sha1哈希值的十六進製字符串expr

sha2 (expr bitLength)

返回一個校驗和的SHA-2家庭的十六進製字符串expr

soundex (expr)

返回字符串的soundex代碼。

空間(n)

返回一個字符串組成的n空間。

split (str,正則表達式,限製)

分裂str在出現相匹配正則表達式並返回一個數組的長度限製

split_part (str delim partNum)

分裂str在出現的delim並返回partNum部分。

startswith (expr startExpr)

返回真正的如果expr字符串或二進製開始startExpr

字符串(expr)

強製類型轉換的值expr字符串。

substr (expr, pos (len])

返回的子字符串expr在開始的pos和的長度len

substr (expr pos (len))

返回的子字符串expr在開始的pos和的長度len

substring (expr pos (len])

返回的子字符串expr在開始的pos和的長度len

substring (expr pos (len))

返回的子字符串expr在開始的pos和的長度len

substring_index (expr delim計數)

返回的子字符串expr之前出現的分隔符delim

to_char (numExpr fmt)

返回numExpr使用格式字符串fmt”。

翻譯(expr,從)

返回一個expr在所有的人物取而代之的是那些嗎

削減([[領先| |都落後於][trimStr]從]str)

從一個字符串修剪字符。

ucase (expr)

返回expr與所有字符改為大寫。

unbase64 (expr)

返回一個base64解碼二進製字符串。

unhex (expr)

轉換成十六進製expr二進製。

上(expr)

返回expr與所有字符改為大寫。

url_decode (str)

將一個字符串從應用程序/ x-www-form-urlencoded格式。

url_encode (str)

將一個字符串轉換為應用程序/ x-www-form-urlencoded格式。

數字的標量函數

函數

描述

~ expr

返回位expr

股息/除數

返回股息除以除數

expr1 | expr2

返回位expr1expr2

- - - - - - expr

返回的否定價值expr

expr1——expr2

返回的減法expr2expr1

+ expr

回報的價值expr

expr1 + expr2

回報的總和expr1expr2

股息%除數

返回後的剩餘股息/除數

expr1 ^ expr2

返回位獨家(XOR)expr1expr2

expr1 & expr2

返回位和expr1expr2

乘數*被乘數

返回乘數乘以被乘數

abs (expr)

返回數值的絕對值expr

這些“可信賴醫療組織”(expr)

返回反餘弦函數(反)expr

作用(expr)

返回的反雙曲餘弦expr

正如(expr)

返回反正弦(反正弦)expr

的作用(expr)

返回的反雙曲正弦expr

(expr)每股

返回逆切(反正切)expr

量化(exprY exprX)

回報之間的弧度角的正軸平麵和指定的點坐標(exprX,exprY)。

atanh (expr)

返回的反雙曲正切值expr

長整型數字(expr)

強製類型轉換的值expr長整型數字。

bit_count (expr)

返回參數中設置的比特數。

bit_get (expr pos)

回報的價值在一個二進製表示的數值積分。

bit_reverse (expr)

返回的值通過扭轉訂單部分的論點。

bround (expr [targetScale])

返回的expr使用HALF_EVEN舍入模式。

cbrt (expr)

返回的立方根expr

裝天花板(expr [targetScale])

返回最小的數不小於expr圍捕,targetScale相對於小數點位數。

天花板(expr [targetScale])

返回最小的數不小於expr圍捕,targetScale相對於小數點位數。

conv (num fromBase toBase)

轉換全國礦工工會fromBasetoBase

因為(expr)

返回的餘弦expr

cosh (expr)

返回的雙曲餘弦expr

床(expr)

返回的餘切expr

csc (expr)

csc的回報expr

小數(expr)

強製類型轉換的值expr小數。

度(expr)

弧度轉換為度。

除數div股息

回報部門的有效組成部分除數通過股息

雙(expr)

強製類型轉換的值expr了一倍。

e ()

返回常數e

exp (expr)

返回e的力量expr

expm1 (expr)

返回exp (expr)- - - - - -1

階乘(expr)

返回的階乘expr

浮動(expr)

強製類型轉換的值expr浮動。

地板(expr [targetScale])

返回最多不小於expr圓形的到targetScale相對於小數點位數。

getbit (expr pos)

回報的價值在一個二進製表示的數值積分。

函數的expr1 expr2)

返回√expr1*expr1+expr2*expr2)

int (expr)

強製類型轉換的值expr整數。

isnan (expr)

返回真正的如果expr

ln (expr)

返回自然對數(基地e)expr

日誌([,]expr)

返回的對數expr基地

log1p (expr)

返回日誌(1+expr)

log2 (expr)

返回的對數expr與基礎2

log10 (expr)

返回的對數expr與基礎10

國防部(股息,除數)

返回後的剩餘股息/除數

nanvl (expr1 expr2)

返回expr1如果它不是,或expr2否則。

負(expr)

返回的否定價值expr

π()

返回π。

pmod(股息,除數)

返回後積極的剩餘股息/除數

積極的(expr)

回報的價值expr

戰俘(expr1 expr2)

提出了expr1的力量expr2

功率(expr1 expr2)

提出了expr1的力量expr2

弧度(expr)

轉換expr度的弧度。

蘭特((種子))

返回一個隨機的值在0和1之間。

randn((種子))

返回一個標準正態分布的隨機值。

隨機((種子))

返回一個隨機的值在0和1之間。

無線電偵察(expr)

返回expr作為一個雙圓一個整數。

輪(expr [targetScale])

返回的expr使用HALF_UP舍入模式。

證交會(expr)

sec的回報expr

sin (expr)

返回的正弦expr

shiftleft (expr n)

返回一個位左移n位。

shiftright (expr n)

返回一個位簽署簽署積分數轉移n位。

shiftrightunsigned (expr n)

返回一個位無符號整數右移簽署的n位。

號(expr)

返回-1.0、0.0或1.0expr是負的,0,或者積極的。

征(expr)

返回-1.0、0.0或1.0expr是負的,0,或者積極的。

sinh (expr)

返回的雙曲正弦expr

短整型(expr)

強製類型轉換的值expr短整型。

sqrt (expr)

返回的平方根expr

譚(expr)

返回的正切值expr

雙曲正切(expr)

返回的雙曲正切expr

非常小的整數(expr)

數據類型轉換expr非常小的整數。

fmt to_number (expr)

返回expr使用格式化小數fmt

try_add (expr1 expr2)

回報的總和expr1expr2,或者零誤差。

try_divide(股息,除數)

返回股息除以除數,或NULL如果除數是0。

try_multiply(乘數,被乘數)

返回乘數乘以被乘數,或在溢出。

try_subtract (expr1 expr2)

返回的減法expr2expr1,或在溢出。

fmt try_to_number (expr)

返回expr使用格式化小數fmt,或NULL如果expr格式不匹配。

聚合函數

函數

描述

任何(expr)

如果至少一個值返回trueexpr組中是真實的。

any_value (expr [ignoreNull])

返回的隨機值expr為一組行。

approx_count_distinct (expr [relativeSD])

返回不同值的估計數字expr在組織內。

approx_percentile (expr百分比[、準確性])

返回的近似百分比expr在組織內。

approx_top_k (expr [k [, maxItemsTracked]])

返回頂部k最常發生在一個項值expr以及它們的近似計算。

array_agg (expr)

返回一個數組中所有的值組成expr在組織內。

avg (expr)

返回均值計算的一組值。

bit_and (expr)

返回位所有的輸入值。

bit_or (expr)

返回位所有的輸入值。

bit_xor (expr)

返回位XOR所有的輸入值。

bool_and (expr)

如果所有的值返回trueexpr是真實的。

bool_or (expr)

如果至少一個值返回trueexpr是真的。

collect_list (expr)

返回一個數組中所有的值組成expr在組織內。

collect_set (expr)

返回一個數組組成的獨特的價值觀expr在組織內。

相關係數(expr1 expr2)

返回一組之間的皮爾遜相關係數對數量。

count (*)

檢索返回的總數排在一組,包括行包含null。

計數(expr […])

返回的行數的一組提供的表達式都是空。

count_if (expr)

返回真值組的數量expr

count_min_sketch (expr,ε,信心、種子)

返回一個count-min素描的組中的所有值exprε,信心種子

covar_pop (expr1 expr2)

返回數的總體協方差對一組。

covar_samp (expr1 expr2)

返回一組對數量的樣本協方差。

每一個(expr)

如果所有的值返回trueexpr組中是正確的。

第一個(expr [ignoreNull])

返回的第一個值expr為一組行。

first_value (expr [ignoreNull])

返回的第一個值expr為一組行。

峰度(expr)

返回一組的峰度值計算值。

最後(expr [ignoreNull])

返回的最後一個值expr集團的行。

last_value (expr [ignoreNull])

返回的最後一個值expr集團的行。

馬克斯(expr)

返回的最大價值expr在一個組。

max_by (expr1 expr2)

返回的值expr1的最大價值expr2在一個組。

意思是(expr)

返回均值計算的一組值。

中位數(expr)

返回值計算出的值。

分鍾(expr)

返回的最小值expr在一個組。

min_by (expr1 expr2)

返回的值expr1相關的最小值expr2在一個組。

模式(expr)

返回最常見,不是的價值,expr在一個組。

百分位(expr百分比[、頻率])

返回的確切的百分比值expr在指定的百分比

percentile_approx (expr百分比[、準確性])

返回的近似百分比expr在組織內。

percentile_cont (pct)在集團(命令鍵)

返回的插值百分位關鍵在組織內。

percentile_disc (pct)在集團(命令鍵)

返回的離散百分比關鍵在組織內。

regr_avgx (yExpr xExpr)

收益的均值xExpr從一組值計算xExpryExpr不為空。

regr_avgy (yExpr xExpr)

收益的均值yExpr從一組值計算xExpryExpr不為空。

regr_count (yExpr xExpr)

返回null值對的數量yExpr,xExpr在集團。

regr_intercept (yExpr xExpr)

返回的攔截和總分在一組線性回歸直線xExpryExpr不為空。

regr_r2 (yExpr xExpr)

返回一組的確定係數的值xExpryExpr不為空。

regr_slope (yExpr xExpr)

返回空的線性回歸直線的斜率值對yExpr,xExpr在集團。

regr_sxx (yExpr xExpr)

返回的平方和xExpr的一組值xExpryExpr不為空。

regr_sxy (yExpr xExpr)

返回產品的總和yExprxExpr從一組值計算xExpryExpr不為空。

regr_syy (yExpr xExpr)

返回的平方和yExpr的一組值xExpryExpr不為空。

偏態(expr)

返回一組的偏態值計算值。

一些(expr)

如果至少一個值返回trueexpr在一組真正的

性病(expr)

返回值的計算樣本標準差。

stddev (expr)

返回值的計算樣本標準差。

stddev_pop (expr)

返回值的總體標準偏差計算一組。

stddev_samp (expr)

返回值的樣本標準差計算一組。

總和(expr)

返回值的總和計算一組。

try_avg (expr)

返回均值計算從一組值,零如果有溢出。

try_sum (expr)

返回值的總和計算一組,零如果有溢出。

var_pop (expr)

返回一組的總體方差的計算值。

var_samp (expr)

返回一組的樣本方差的計算值。

方差(expr)

返回一組的樣本方差的計算值。

排名窗口功能

函數

描述

dense_rank ()

返回一個值的等級分區中的所有值。

ntile (n)

每個窗口分區的行分為n桶從1到最多n

percent_rank ()

計算百分比排名分區內的一個值。

排名()

返回一個值的等級分區中的所有值。

row_number ()

分配一個獨一無二的,順序號碼每一行,從一開始,根據分區內的命令行窗口。

分析窗函數

函數

描述

cume_dist ()

返回一個值的位置相對於所有值的分區。

滯後(expr[,抵消[,違約]])

回報的價值expr從前麵一行內的分區。

鉛(expr[,抵消[,違約]])

回報的價值expr從後續行中的分區。

nth_value (expr抵消[,ignoreNulls])

回報的價值expr在一個特定抵消在窗口。

數組函數

函數

描述

arrayExpr [indexExpr]

返回元素的位置indexExpr的數組arrayExpr

總(expr開始,合並[完成])

聚合元素數組中使用自定義聚合器。

數組([expr […]])

返回一個數組中的元素expr

array_contains(數組,價值)

返回true,如果數組包含價值

array_distinct(數組)

刪除重複的值從數組

array_except (array1 array2)

返回一個數組的元素array1但不是在array2

array_intersect (array1 array2)

返回一個數組的元素的十字路口array1array2

array_join(數組,分隔符[nullReplacement])

連接的元素數組

array_max(數組)

返回的最大價值數組

array_min(數組)

返回的最小值數組

array_position(數組元素)

返回第一次出現的位置元素數組

array_remove(數組元素)

刪除出現的所有元素數組

array_repeat(元素,計算)

返回一個數組,其中包含元素次了。

array_size(數組)

返回元素的數量數組

array_sort(數組,函數)

返回數組根據排序函數

array_union (array1 array2)

返回一個數組的元素的結合array1array2沒有重複的。

arrays_overlap (array1 array2)

返回true的交集array1array2不是空的。

arrays_zip (array1 […])

返回一個合並的結構體數組的第n個結構體包含所有n值的輸入數組。

基數(expr)

收益的大小expr

concat (expr1 expr2 […])

返回的連接參數。

element_at (arrayExpr指數)

返回的元素arrayExpr指數

存在(expr pred)

返回true,如果pred適用於任何元素expr

爆炸(expr)

由un-nesting返回行expr

explode_outer (expr)

由un-nesting返回行expr使用外部語義。

過濾器(expr函數)

過濾器的數組expr使用函數函數

平(arrayOfArrays)

將一個數組的數組轉換成一個數組。

原則(expr predFunc)

測試是否predFunc適用於所有元素的數組。

內聯(expr)

爆炸的數組結構表。

inline_outer (expr)

爆炸的數組結構與外部表語義。

posexplode (expr)

返回行通過un-nesting數組編號的位置。

posexplode_outer (expr)

返回行通過un-nesting數組編號的位置使用語義。

減少(expr開始,合並[完成])

聚合元素數組中使用自定義聚合器。

反向(數組)

返回一個逆轉倒序的字符串或一個數組元素。

序列(啟動、停止、步驟)

生成一個數組的元素開始停止(包容)遞增一步

洗牌(數組)

返回一個隨機排列的數組expr

大小(expr)

返回的基數expr

片(expr開始,長度)

返回一個數組的子集。

sort_array (expr [ascendingOrder])

返回的數組expr在排序順序。

變換(expr函數)

轉換元素數組中expr使用函數函數

try_element_at (arrayExpr指數)

返回的元素arrayExpr指數,或如果指數綁定。

zip_with (expr1 expr2函數)

合並的數組expr1expr2element-wise,到一個數組中使用函數

地圖功能

函數

描述

mapExpr [keyExpr]

返回值keyExpr的地圖mapExpr

基數(expr)

收益的大小expr

element_at (mapExpr鍵)

回報的價值mapExpr關鍵

爆炸(expr)

由un-nesting返回行expr

explode_outer (expr)

由un-nesting返回行expr使用外部語義。

地圖([{key1, value1} […]])

創建一個地圖指定的鍵-值對。

map_concat ([expr1 […]])

返回所有的聯盟expr映射表達式。

map_contains_key(地圖,鍵)

返回真正的如果地圖包含關鍵,否則。

map_entries(地圖)

返回一個無序數組中的所有條目地圖

map_filter (expr函數)

過濾器在地圖的條目expr使用函數函數

map_from_arrays(鍵值)

創建一個地圖的一對數組。

map_from_entries (expr)

指定數組的創建一個地圖創建條目。

map_keys(地圖)

返回一個包含的鍵的無序數組地圖

map_values(地圖)

返回一個包含的值的無序數組地圖

map_zip_with (map1 map2函數)

合並map1map2成一個單一的地圖。

大小(expr)

返回的基數expr

transform_keys (expr函數)

轉換鍵在地圖expr使用函數函數

transform_values (expr函數)

在地圖轉換值expr使用函數函數

try_element_at (mapExpr鍵)

回報的價值mapExpr關鍵,或如果關鍵不存在。

日期、時間戳和間隔的功能

日期和時間戳格式的信息,請參閱Datetime模式(磚SQL)

函數

描述

intervalExpr /除數

返回時間間隔除以除數

——intervalExpr

返回的否定價值intervalExpr

intervalExpr1——intervalExpr2

返回的減法intervalExpr2intervalExpr1

datetimeExpr1——datetimeExpr2

返回的減法datetimeExpr2datetimeExpr1

+ intervalExpr

回報的價值intervalExpr

intervalExpr1 + intervalExpr2

回報的總和intervalExpr1intervalExpr2

intervalExpr *被乘數

返回intervalExpr乘以被乘數

abs (expr)

返回的區間值的絕對值expr

add_months (startDate可以numMonths)

返回的日期numMonthsstartDate可以

當前日期()

返回當前日期的查詢評估。

current_timestamp ()

返回當前的時間戳的查詢評估。

current_timezone ()

返回當前會話的本地時區。

日期(expr)

強製類型轉換的值expr到目前為止。

date_add (startDate可以numDays)

返回日期numDaysstartDate可以

fmt date_format (expr)

將一個時間戳轉換為字符串的格式fmt

date_from_unix_date(天)

創建一個日期的天數1970-01-01

date_part(字段,expr)

提取的日期、時間戳或時間間隔。

date_sub (startDate可以numDays)

返回日期numDays之前startDate可以

date_trunc(字段,expr)

返回時間戳截斷中指定的單位

返回(單位,價值,expr)

增加了價值單位年代一個時間戳expr

datediff (endDate startDate可以)

返回的天數startDate可以endDate

datediff(單位,啟動、停止)

返回兩個時間戳測量之間的區別單位年代。

天(expr)

返回天月的日期或時間戳。

dayofmonth (expr)

返回天月的日期或時間戳。

dayofweek (expr)

返回一天一周的日期或時間戳。

dayofyear (expr)

回報的那一天的日期或時間戳。

除數div股息

返回的劃分區間的有效組成部分除數的時間間隔股息

提取從源代碼(字段)

返回

from_unixtime (unixTime fmt)

返回unixTimefmt

from_utc_timestamp (expr時區)

返回一個時間戳exprUTC中指定的時區時區

小時(expr)

返回一個時間戳的小時組件。

last_day (expr)

返回這個月的最後一天,日期屬於。

make_date(年、月、日)

創建一個日期一年,,一天字段。

[[make_dt_interval([天,小時,分鍾[秒]]]])

創建一個白天的時間間隔,小時,分鍾

make_interval(年、月、周、天、小時、分鍾、秒)

棄用:創建一個區間,個月,,,小時,分鍾

make_timestamp(年、月、日、小時、分鍾、秒[,時區)

創建一個時間戳的一年,,一天,小時,最小值,證券交易委員會,時區字段。

make_ym_interval([年[,幾個月]])

創建一個year-month區間,個月

分鍾(expr)

返回組件的時間戳expr

月(expr)

返回組件的時間戳expr

months_between (expr1 expr2[,湊整))

返回日期或時間戳之間的幾個月過去了expr1expr2

next_day (expr dayOfWeek)

返回後的第一次約會expr並命名為dayOfWeek

現在()

返回當前的時間戳的查詢評估。

季度(expr)

返回的季度expr範圍在1到4。

第二個(expr)

返回時間戳的第二部分expr

號(expr)

返回-1.0、0.0或1.0區間expr是負的,0,或者積極的。

征(expr)

返回-1.0、0.0或1.0區間expr是負的,0,或者積極的。

時間戳(expr)

數據類型轉換expr時間戳。

timestamp_micros (expr)

創建一個時間戳exprUTC時代以來微秒。

timestamp_millis (expr)

創建一個時間戳exprUTC時代以來的毫秒。

timestamp_seconds (expr)

創建時間戳exprUTC時代以來的秒。

timestampadd(單位,價值,expr)

增加了價值單位年代一個時間戳expr

timestampdiff(單位,啟動、停止)

返回兩個時間戳測量之間的區別單位年代。

to_date (expr (fmt))

返回expr使用一個可選的日期格式。

to_timestamp (expr (fmt))

返回expr使用一個可選的時間戳格式。

to_unix_timestamp (expr (fmt))

返回的時間戳expr作為一個UNIX時間戳。

to_utc_timestamp (expr時區)

返回的時間戳expr在一個不同的時區UTC。

trunc (expr fmt)

返回日期的部分日期截斷模型單位指定的格式fmt

try_add (expr1 expr2)

回報的總和expr1expr2,或者零誤差。

try_divide(股息,除數)

返回股息除以除數,或NULL如果除數是0。

try_multiply(乘數,被乘數)

返回乘數乘以被乘數,或在溢出。

try_subtract (expr1 expr2)

返回的減法expr2expr1,或在溢出。

try_to_timestamp (expr (fmt))

返回expr使用一個可選的時間戳格式,或如果把失敗。

unix_date (expr)

返回的天數1970-01-01

unix_micros (expr)

返回的數量微秒1970-01-01就是UTC

unix_millis (expr)

返回以來的毫秒數1970-01-01就是UTC

unix_seconds (expr)

返回以來的秒數1970-01-01就是UTC

unix_timestamp ([expr (fmt)))

eturns當前或指定時間的UNIX時間戳。

工作日(expr)

返回的星期expr

weekofyear (expr)

返回的一周年expr

(expr)

返回的組成部分expr

窗口(expr、寬度[[,]]步)

創建一個基於跳躍的滑動窗口在一個時間戳的表達式。

把函數和構造函數

鑄造類型之間的信息,請參閱(磚SQL類型轉換函數)try_cast函數(磚SQL)

函數

描述

數組([expr […]])

返回一個數組中的元素expr

長整型數字(expr)

強製類型轉換的值expr長整型數字。

二進製(expr)

投下的價值expr二進製。

布爾(expr)

數據類型轉換expr布爾。

鑄造(expr類型)

強製類型轉換的值expr到目標數據類型類型

expr:類型

強製類型轉換的值expr到目標數據類型類型

日期(expr)

強製類型轉換的值expr到目前為止。

小數(expr)

強製類型轉換的值expr小數。

雙(expr)

強製類型轉換的值expr了一倍。

浮動(expr)

強製類型轉換的值expr浮動。

int (expr)

強製類型轉換的值expr整數。

make_date(年、月、日)

創建一個日期一年,,一天字段。

[[make_dt_interval([天,小時,分鍾[秒]]]])

創建一個白天的時間間隔,小時,分鍾

make_interval(年、月、周、天、小時、分鍾、秒)

創建一個區間,個月,,,小時,分鍾

make_timestamp(年、月、日、小時、分鍾、秒[,時區)

創建一個時間戳的一年,,一天,小時,最小值,證券交易委員會,時區字段。

make_ym_interval([年[,幾個月]])

創建一個year-month區間,個月

地圖([{key1, value1} […]])

創建一個地圖指定的鍵-值對。

named_struct ({name1, val1} […])

創建一個結構與指定的字段名稱和值。

短整型(expr)

強製類型轉換的值expr短整型。

字符串(expr)

強製類型轉換的值expr字符串。

結構(expr1 […])

創建一個結構與指定的字段值。

非常小的整數(expr)

數據類型轉換expr非常小的整數。

時間戳(expr)

數據類型轉換expr時間戳。

to_char (numExpr fmt)

返回numExpr使用格式字符串fmt”。

to_date (expr (fmt))

返回expr使用一個可選的日期格式。

fmt to_number (expr)

返回expr使用格式化小數fmt

to_timestamp (expr (fmt))

返回expr使用一個可選的時間戳格式。

try_cast (expr類型)

強製類型轉換的值expr到目標數據類型類型安全。

fmt try_to_number (expr)

返回expr使用格式化小數fmt,或如果expr不是一個有效的。

CSV功能

函數

描述

from_csv (csvStr模式[選項])

返回一個結構體的價值csvStr模式

schema_of_csv (csv[選項])

返回一個CSV的模式DDL格式的字符串。

to_csv (expr[選項])

返回一個CSV字符串指定的價值結構。

JSON函數

函數

描述

jsonStr: jsonPath

返回字段提取jsonStr

from_json (jsonStr模式[選項])

返回一個結構體的價值jsonStr模式

get_json_object (expr路徑)

提取一個JSON對象路徑

json_array_length(獲取)

返回最外層的JSON數組中元素的數量。

json_object_keys (jsonObject)

返回所有鑰匙最外層的JSON對象的一個數組。

json_tuple (jsonStr path1 […])

返回多個JSON對象作為一個元組。

schema_of_json (json[選項])

返回一個JSON字符串的模式在DDL格式。

to_json (expr[選項])

返回一個JSON字符串中指定的結構expr

XPath函數

函數

描述

xpath (xml、xpath)

返回值的節點xml相匹配的xpath

xpath_boolean xpath (xml)

返回真正的如果xpath表達式的求值結果為真正的,或者如果一個匹配的節點xml是發現。

xpath_double xpath (xml)

從一個XML文檔返回一個雙重價值。

xpath_float xpath (xml)

從一個XML文檔返回一個浮點值。

xpath_int xpath (xml)

從一個XML文檔返回一個整數值。

xpath_long xpath (xml)

從一個XML文檔返回一個長整型數字值。

xpath_number xpath (xml)

從一個XML文檔返回一個雙重價值。

xpath_short xpath (xml)

從一個XML文檔返回一個空值。

xpath_string xpath (xml)

返回第一個XML節點的內容相匹配的XPath表達式。

各種各樣的功能

函數

描述

assert_true (expr)

返回一個錯誤,如果expr是不正確的。

案例expr{當opt1 res1}[…](其他def)結束

返回resN第一optN這就等於exprdef如果沒有匹配。

情況{當cond1 res1}[…](其他def)結束

返回resN第一condN評估為true,或def如果沒有發現。

cloud_files_state(關卡)

返回文件級別自動裝卸機的狀態cloud_files源。

合並(expr1 expr2 […])

返回第一個非空參數。

多維數據集(expr1 […])

創建一個多維數據集使用指定的表達式列。

current_catalog ()

返回當前目錄。

current_database ()

返回當前模式。

current_metastore ()

返回當前目錄統一Metastore id。

current_schema ()

返回當前模式。

current_user ()

返回當前用戶。

current_version ()

返回當前版本的磚。

解碼(expr{鍵,值}[…][,defValue])

返回的值匹配的關鍵。

英語教學(指數、expr1 […])

返回第n個表達式。

equal_null (expr1 expr2)

返回真正的如果expr1=expr2或兩個表達式是,或否則。

最大(expr1 […])

返回所有參數的最大價值,跳過null值。

分組(col)

指示是否指定的列分組,彙總,或多維數據集代表一個小結。

grouping_id ([col1 […]])

返回的一組列的分組級別。

散列(expr1 […])

返回一個散列值的參數。

如果電導率,expr1 expr2)

返回expr1如果氣孔導度真正的,或expr2否則。

敵我識別(電導率,expr1 expr2)

返回expr1如果氣孔導度真正的,或expr2否則。

ifnull (expr1 expr2)

返回expr2如果expr1,或expr1否則。

input_file_block_length ()

返回長度字節的塊被閱讀。

input_file_block_start ()

返回開始的偏移字節的塊被閱讀。

input_file_name ()

返回文件的名稱被閱讀,或空字符串如果不是可用的。

is_member(集團)

返回true,如果當前用戶組的成員。

isnull (expr)

返回真正的如果expr

isnotnull (expr)

返回真正的如果expr不是

至少(expr1 […])

返回所有參數的最小值,跳過null值。

monotonically_increasing_id ()

返回單調遞增64位整數。

nullif (expr1 expr2)

返回如果expr1=expr2,或expr1否則。

nvl (expr1 expr2)

返回expr2如果expr1,或expr1否則。

nvl2 (expr1 expr2 expr3)

返回expr2如果expr1不是,或expr3否則。

raise_error (expr)

拋出一個異常,expr的消息。

範圍(結束)

返回一個表指定範圍內的值。

範圍(開始、結束[[,numParts]]步)

返回一個表指定範圍內的值。

spark_partition_id ()

返回當前分區ID。

堆棧(numRows expr1 […])

分離expr1、…exprNnumRows行。

table_changes (table_str開始[,])

返回一個更改日誌三角洲湖表啟用了改變數據提要。

uuid ()

返回一個全局惟一的標識符(UUID)字符串。

窗口(expr、寬度[[,]]步)

創建一個基於跳躍的滑動窗口在一個時間戳的表達式。

xxhash64 (expr1 […])

返回一個64位的散列值的參數。

(版本)

返回Apache火花版本。