Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Databricks SQL
Databricks Runtime
Tento článek obsahuje odkazy na předdefinované operátory a funkce pro řetězce a binární typy, číselné skaláry, agregace, okna, pole, mapy, kalendářní data a časová razítka, přetypování, data CSV, data JSON, manipulace s XPathem a další různé funkce.
V případě případů použití, které existující předdefinované funkce nepodporují, zvažte definování vlastní funkce. Podívejte se, co jsou uživatelem definované funkce (UDF)?
Další zdroje informací:
Operátory a predikáty
Informace o tom, jak se operátory analyzují s ohledem na sebe, naleznete v tématu Priorita operátoru.
Operátor | Syntaxe | Popis |
---|---|---|
& | expr1 & expr2 |
Vrátí bitový součin hodnot AND , expr1 a expr2 . |
a | expr1 and expr2 |
Vrátí logickou AND hodnotu expr1 a expr2 . |
* | multiplier * multiplicand |
Vrátí multiplier hodnotu vynásobenou multiplicand . |
!= | expr1 != expr2 |
Vrátí hodnotu true, pokud expr1 se nerovná expr2 nebo false jinak. |
! | !expr |
Vrátí logickou reprezentaci logického výrazu NOT . |
mezi | expr1 [not] between expr2 and expr2 |
Testuje, zda expr1 je větší nebo rovno expr2 a zároveň menší nebo rovno expr3 . |
[] | arrayExpr [ indexExpr ] |
Vrátí indexExpr druhý prvek funkce ARRAY arrayExpr . |
[] | mapExpr [ keyExpr ] |
Vrátí hodnotu na keyExpr z MAP mapExpr . |
^ | expr1 ^ expr2 |
Vrátí bitovou exkluzivní hodnotu z OR (XOR) a expr1 a expr2 . |
: | jsonStr : jsonPath |
Vrátí pole extrahovaná z objektu jsonStr . |
:: | expr :: type |
Přetypuje hodnotu expr na cílový datový typ type . |
?:: | expr ?:: type |
Pokud je to možné, přetypuje hodnotu expr na cílový datový typ type , jinak vrátí NULL . |
Div | dividend div divisor |
Vrátí celočíselnou část výsledku dělení dividend číslem divisor . |
. | mapExpr . keyIdentifier |
Vrátí hodnotu MAP pomocí keyIdentifier . |
. | structExpr . fieldIdentifier |
Vrátí pole STRUCT podle fieldIdentifier . |
== | expr1 == expr2 |
Vrátí true , pokud se expr1 rovná expr2 , jinak false . |
= | expr1 = expr2 |
Vrátí true , pokud se expr1 rovná expr2 , jinak false . |
>= | expr1 >= expr2 |
Vrátí true , pokud je expr1 větší nebo rovno expr2 , jinak false . |
> | expr1 > expr2 |
Vrátí true , pokud expr1 je větší než expr2 , nebo false jinak. |
existuje | exists(query) |
Vrátí hodnotu true, pokud query vrátí alespoň jeden řádek, jinak false. |
ilike | str [not] ilike (pattern[ESCAPE escape]) |
Vrátí pravdivou hodnotu, pokud str odpovídá (nebo neodpovídá) pattern bez ohledu na rozlišování escape malých a velkých písmen. |
ilike | str [not] ilike {ANY\|SOME\|ALL}([pattern[, ...]]) |
Vrátí hodnotu true, pokud str odpovídá nebo neodpovídá žádnému nebo všem vzorům bez rozlišení velkých a malých písmen. |
v | elem [not] in (expr1[, ...]) |
Vrátí true , pokud se elem (ne)rovná jakékoli exprN . |
v | elem [not] in (query) |
Vrátí true hodnotu, pokud elem se (ne) rovná žádnému řádku v query . |
je odlišný. | expr1 is [not] distinct from expr2 |
Testuje, zda argumenty neobsahují různé hodnoty, ve kterých NULL jsou považovány za srovnatelné hodnoty. |
je nepravda | expr is [not] false |
Testuje, zda expr je (ne) false . |
má hodnotu null. | expr is [not] null |
Vrátí true , pokud expr je (není) NULL . |
je pravda | expr is [not] true |
Testuje, zda expr je (ne) true . |
jako | str [not] like (pattern[ESCAPE escape]) |
Vrátí hodnotu true, pokud str (není) shodná pattern s escape . |
jako | str [not] like {ANY\|SOME\|ALL}([pattern[, ...]]) |
Vrátí hodnotu true, pokud str (ne) odpovídá žádnému nebo všem vzorům. |
<=> | expr1 <=> expr2 |
Vrátí stejný výsledek jako EQUAL(=) pro operandy, které nejsou null, ale vrátí true , pokud jsou NULL oba , false pokud jeden z nich je NULL . |
<= | expr1 <= expr2 |
Vrátí true hodnotu, pokud expr1 je menší nebo rovna expr2 , nebo false jinak. |
<> | expr1 <> expr2 |
Vrátí true , pokud expr1 se nerovná expr2 , nebo false jinak. |
< | expr1 < expr2 |
Vrátí true hodnotu, pokud expr1 je menší než expr2 , nebo false jinak. |
- | expr1 - expr2 |
Vrátí výsledek odečtení expr2 od expr1 . |
ne | not expr |
Vrátí logickou reprezentaci logického výrazu NOT . |
nebo | expr1 or expr2 |
Vrátí logickou OR hodnotu expr1 a expr2 . |
% | dividend % divisor |
Vrátí zbytek po dividend / divisor . |
|| | expr1 \|\| expr2 |
Vrátí zřetězení expr1 a expr2 . |
| | expr1 \| expr2 |
Vrátí bitový součin hodnot OR , expr1 a expr2 . |
+ | expr1 + expr2 |
Vrátí součet expr1 a expr2 . |
regexp | str [not] regexp regex |
Vrátí hodnotu true, pokud str odpovídá (neodpovídá) regex . |
regexp_like | str [not] regexp_like regex |
Vrátí hodnotu true, pokud str odpovídá (neodpovídá) regex . |
rlike | str [not] rlike regex |
Vrátí hodnotu true, pokud str odpovídá (neodpovídá) regex . |
/ | dividend / divisor |
Vrátí dividend děleno divisor . |
~ | ~ expr |
Vrátí bitovou operaci NOT z expr . |
Priorita operátorů
Priorita | Operátor |
---|---|
1 |
: , :: , , ?:: [ ] |
2 |
- (unární), + (unární), ~ |
3 |
* , / , , % div |
4 |
+
-
\|\|
|
5 | & |
6 | ^ |
7 | \| |
8 |
= , == , , <=> <> != < <= , , > >= |
9 |
not , exists |
10 |
between , in , rlike , , regexp ilike , like , , is [not] [NULL, true, false] is [not] distinct from |
11 | and |
12 | or |
Řetězcové a binární funkce
Funkce | Popis |
---|---|
výraz1 || výraz2 | Vrátí zřetězení expr1 a expr2 . |
aes_decrypt(výraz, klíč[; režim[; odsazení[; aad]]) | Dešifruje binární soubor expr pomocí šifrování AES. |
aes_encrypt(výraz, klíč[, režim[, padding[, iv[, aad]]]]) | Zašifruje binární soubor expr pomocí šifrování AES. |
ascii(str) | Vrátí bod kódu ASCII prvního znaku str . |
base64(výraz) |
expr je převeden na řetězec ve formátu base 64. |
bin(výraz) | Vrátí binární reprezentaci .expr |
binary(výraz) | Přetypuje hodnotu expr na BINARY . |
bit_length(výraz) | Vrátí bitovou délku řetězcových dat nebo počet bitů binárních dat. |
bitmap_count(výraz) | Vrátí počet bitů nastavených v řetězci BINARY představujícím bitmap. |
btrim(str [, trimStr]) | Vrátí str bez počátečních a koncových znaků. |
char(výraz) | Vrátí znak v zadaném bodě kódu UTF-16. |
char_length(výraz) | Vrátí délku znaku řetězcových dat nebo počet bajtů binárních dat. |
character_length(výraz) | Vrátí délku znaku řetězcových dat nebo počet bajtů binárních dat. |
charindex(podstr, str[, pos]) | Vrátí pozici prvního výskytu substr v str po pozici pos . |
chr(výraz) | Vrátí znak v zadaném bodě kódu UTF-16. |
strExpr kolace collationName | Připojuje explicitní kolační collationName k strExpr . |
kolace [pro] (strExpr) | Vrátí kolaci připojenou k strExpr . |
concat(výraz1, výraz2[; ...]) | Vrátí zřetězení argumentů. |
concat_ws(sep[; výraz1[; ...]]) | Vrátí řetězce spojené dohromady, oddělené znakem sep . |
contains(výraz, subExpr) | Vrátí true hodnotu pokud expr STRING nebo BINARY obsahuje subExpr . |
crc32(výraz) | Vrátí hodnotu kontrolního součtu cyklické redundance expr . |
decode(výraz, znaková sada) | Převede binární expr na řetězec pomocí kódování znakové sady charSet . |
encode(výraz, znaková sada) | Vrátí binární reprezentaci řetězce pomocí charSet kódování znaků. |
endswith(výraz, endExpr) | Vrátí true , pokud expr STRING nebo BINARY končí na endExpr . |
find_in_set(searchExpr, sourceExpr) | Vrátí pozici řetězce v seznamu řetězců oddělených čárkami. |
format_number(výraz, měřítko) | Formáty expr jako #,###,###.## , zaokrouhlené na scale desetinná místa. |
format_number(výraz, fmt) | Formáty expr jako fmt . |
format_string(strfmt[; obj1 [; ...]]) | Vrátí formátovaný řetězec z řetězců formátu printf.style. |
hex(výraz) | Převedení expr na šestnáctkovou soustavu. |
str ilike (vzor[ESCAPE escape]) | Vrátí hodnotu true, pokud str odpovídá pattern bez ohledu na velikost písmen escape . |
initcap(expr) | Vrátí expr s prvními písmeny každého slova velkými. |
instr(str, substr) | Vrátí (založený na 1) index prvního výskytu substr v str . |
lcase(výraz) | Vrátí expr , ve které jsou všechny znaky změněny na malá písmena. |
left(str, délka) | Vrátí len nejlevějších znaků z str . |
délka(expr) | Vrátí délku znaku řetězcových dat nebo počet bajtů binárních dat. |
length(výraz) | Vrátí délku znaku řetězcových dat nebo počet bajtů binárních dat. |
levenshtein(str1, str2) | Vrátí vzdálenost Levenshtein mezi řetězci str1 a str2 . |
str jako (vzor[ESCAPE escape]) | Vrátí hodnotu true, pokud str odpovídá pattern hodnotě escape . |
locate(substr; str[, pos]) | Vrátí pozici prvního výskytu substr v str po pozici pos . |
malá písmena(výraz) | Vrátí expr , ve které jsou všechny znaky změněny na malá písmena. |
lpad(výraz, délka[, pad]) | Vrátí expr , zarovnaný vlevo s vyplněním pad na délku len . |
ltrim([trimstr;] str) | Vrátí str s odstraněnými úvodními znaky v rámci trimStr . |
mask(str[, upperChar[, lowerChar[, digitChar[, otherChar]]]] | Vrátí maskovanou verzi vstupu str . |
md5(výraz) | Vrátí 128bitový kontrolní součet MD5 z expr jako šestnáctkový řetězec. |
octet_length(výraz) | Vrátí délku bajtu řetězcových dat nebo počet bajtů binárních dat. |
překrytí(vstupní UMÍSTĚNÍ nahradit FROM pos [FOR len]) | Nahrazuje input s replace , který začíná na pos a má délku len . |
překrytí(vstupní UMÍSTĚNÍ nahradit FROM pos [FOR len]) | Nahrazuje input s replace , který začíná na pos a má délku len . |
parse_url(url, partToExtract[, klíč]) | Extrahuje část z url . |
position(substr; str[, pos]) | Vrátí pozici prvního výskytu substr v str po pozici pos . |
position(subtr IN str) | Vrátí pozici prvního výskytu substr v str po pozici pos . |
printf(strfmt[, obj1 [; ...]]) | Vrátí formátovaný řetězec z řetězců formátu printf.style. |
randstr(length) | Vrátí náhodný řetězec o délce length alfanumerických znaků. |
str regexp regex | Vrátí hodnotu true, pokud str odpovídá regex . |
str regexp_like regex | Vrátí hodnotu true, pokud str odpovídá regex . |
regexp_count(str, regexp) | Vrátí počet, kolikrát str odpovídá regexp vzoru. |
regexp_extract(str, regexp[, idx]) | Extrahuje první řetězec v str , který odpovídá výrazu v regexp a zodpovídá indexu skupiny regex . |
regexp_extract_all(str, regexp[, idx]) | Extrahuje všechny řetězce v str , které odpovídají výrazu regexp a odpovídají indexu skupiny regex . |
regexp_instr(str, regexp) | Vrátí pozici prvního podřetězce v str , který odpovídá regexp . |
regexp_replace(str, regexp, rep[, position]) | Nahradí všechny podřetězce str , které odpovídají regexp , rep . |
regexp_substr(str, regexp) | Vrátí první podřetězec v str , který odpovídá regexp . |
opakuj(výraz, n) | Vrátí řetězec, který se opakuje expr n krát. |
replace(str, search [, replace]) | Nahradí všechny výskyty search s replace . |
reverse(výraz) | Vrátí obrácený řetězec nebo pole s obráceným pořadím prvků. |
right(str, délka) | Vrátí nejpravější len znaků z řetězce str . |
str rlike regex | Vrátí hodnotu true, pokud str odpovídá regex . |
rpad(výraz, délka[, pad]) | Vrátí expr , doplněné zprava o pad na délku len . |
rtrim([trimStr;] str) | Vrátí str s odebranými koncovými znaky. |
věty(str[, lang, country]) | Rozdělí str na pole slov. |
sha(výraz) | Vrátí hodnotu hash sha1 jako šestnáctkový řetězec expr . |
sha1(výraz) | Vrátí hodnotu hash sha1 jako šestnáctkový řetězec expr . |
sha2(výraz, bitLength) | Vrátí kontrolní součet rodiny SHA-2 jako šestnáctkový řetězec expr . |
soundex(výraz) | Vrátí kód soundex řetězce. |
mezera(n) | Vrátí řetězec skládající se z n mezer. |
split(str, regex[, limit]) | Rozdělí str kolem výskytů, které se shodují s regex , a vrátí pole s délkou nejvýše limit . |
split_part(str, delim, partNum) | Rozdělí str podle výskytů delim a vrátí partNum část. |
startswith(výraz, startExpr) | Vrátí true , pokud expr STRING nebo BINARY začíná na startExpr . |
string(výraz) | Přetypuje hodnotu expr na STRING . |
substr(výraz, pos[, len]) | Vrátí podřetězec expr , který začíná na pos a má délku len . |
substr(výraz OD pos[ NA délka]) | Vrátí podřetězec expr , který začíná na pos a má délku len . |
substring(výraz, pos[, len]) | Vrátí podřetězec expr , který začíná na pos a má délku len . |
substring(výraz FROM pos[ FOR len]) | Vrátí podřetězec expr , který začíná na pos a má délku len . |
substring_index(výraz, delim; count) | Vrátí podřetězec expr před počtem count výskytů oddělovače delim . |
to_binary(výraz[; fmt]) | Vrátí expr přetypované na binární na základě fmt . |
to_char(numExpr, fmt) | Vrátí numExpr přetypované na STRING pomocí formátování fmt . |
to_varchar(numExpr, fmt) | Vrátí numExpr přetypované na STRING pomocí formátování fmt . |
translate(výraz, z, do) | Vrátí expr , kde byly všechny znaky v from nahrazeny znaky v to . |
trim([[OBĚ | VEDOUCÍ | KONEČNÍ] [trimStr] FROM] str) | Oříznout znaky z řetězce |
try_aes_decrypt(výraz, klíč[, režim[, padding[, aad]]]) | Dešifruje binární soubor expr pomocí šifrování AES a vrátí NULL v případě chyby. |
try_to_binary(výraz [, fmt]) | Vrátí expr , přetypované na BINARY na základě fmt , nebo NULL , pokud je vstup neplatný. |
try_url_decode(str) | V případě chyby přeloží řetězec zpět z formátu application/x-www-form-urlencoded a vrátí jej. |
try_zstd_decompress(hodnota) | Vrátí hodnotu dekomprimovanou kompresí Zstandard nebo NULL pokud je vstup neplatný. |
ucase(výraz) | Vrátí expr , ve kterém jsou všechny znaky převedeny na velká písmena. |
unbase64(výraz) | Vrátí dekódovaný řetězec base64 jako binární. |
unhex(výraz) | Převede šestnáctkové expr na BINARY . |
upper(výraz) | Vrátí expr , ve kterém jsou všechny znaky převedeny na velká písmena. |
url_decode(str) | Přeloží řetězec zpět z formátu application/x-www-form-urlencoded . |
url_encode(str) | Přeloží řetězec do application/x-www-form-urlencoded. |
zstd_compress (hodnota[;level[,streaming_mode]]) | Vrátí hodnotu komprimovanou pomocí komprese Zstandard. |
zstd_decompress(hodnota) | Vrátí hodnotu dekomprimovanou pomocí komprese Zstandard. |
Číselné skalární funkce
Funkce | Popis |
---|---|
~ výraz | Vrátí bitovou operaci NOT z expr . |
důchod/dělitel | Vrátí dividend děleno divisor . |
výraz1 | výraz2 | Vrátí bitový součin hodnot OR , expr1 a expr2 . |
- výraz | Vrátí negovanou hodnotu expr . |
výraz1 – výraz2 | Vrátí výsledek odečtení expr2 od expr1 . |
+ výraz | Vrátí hodnotu expr . |
výraz1 + výraz2 | Vrátí součet expr1 a expr2 . |
dividenda % dělitel | Vrátí zbytek po dividend / divisor . |
výraz1 ^ výraz2 | Vrátí bitovou exkluzivní hodnotu z OR (XOR) a expr1 a expr2 . |
výraz1 a výraz2 | Vrátí bitový součin hodnot AND , expr1 a expr2 . |
multiplikátor * multiplikand | Vrátí multiplier hodnotu vynásobenou multiplicand . |
abs(výraz) | Vrátí absolutní hodnotu číselné hodnoty v expr . |
acos(výraz) | Vrátí inverzní kosinus (arkus kosinus) expr . |
acosh(výraz) | Vrátí inverzní hyperbolický kosinus expr . |
asin(výraz) | Vrátí inverzní sinus (arkusinus) expr . |
asinh(výraz) | Vrátí inverzní hyperbolický sinus expr . |
atan(výraz) | Vrátí inverzní tangens (arkusangens) čísla expr . |
atan2(výrazy, výrazx) | Vrátí úhel v radiánech mezi kladnou osou x roviny a bodem určeným souřadnicemi (exprX , exprY ). |
atanh(výraz) | Vrátí inverzní hyperbolický tangens expr . |
bigint(výraz) | Přetypuje hodnotu expr na BIGINT . |
bit_count(výraz) | Vrátí počet bitů nastavených v argumentu. |
bit_get(výraz, pos) | Vrátí hodnotu bitu v binární reprezentaci celočíselného číselného čísla. |
bit_reverse(výraz) | Vrátí hodnotu získanou vrácením pořadí bitů v argumentu. |
bitmap_bit_position(výraz) | Vrátí 0bitovou pozici daného BIGINT čísla v kontejneru. |
bitmap_bucket_number(výraz) | Vrátí číslo rastrového kbelíku pro dané BIGINT číslo. |
bround(výraz[,cílováŠkála]) | Vrátí zaokrouhlenou expr hodnotu pomocí režimu zaokrouhlení HALF_EVEN . |
cbrt(výraz) | Vrátí kořen datové krychle .expr |
ceil(výraz[,targetScale]) | Vrátí nejbližší číslo, které je větší nebo rovno číslu expr , zaokrouhlené nahoru na targetScale desetinných míst. |
ceiling(výraz[,cílováMěřítko]) | Vrátí nejbližší číslo, které je větší nebo rovno číslu expr , zaokrouhlené nahoru na targetScale desetinných míst. |
conv(číslo, fromBase, toBase) |
num Převede z fromBase na toBase . |
convert_timezone([sourceTz; ]targetTz, sourceTs) | Převede TIMESTAMP_NTZ sourceTs z časového pásma sourceTz na targetTz . |
cos(výraz) | Vrátí kosinus expr . |
cosh(výraz) | Vrátí hyperbolický kosinus expr . |
cot(výraz) | Vrátí kotangens čísla expr . |
csc(výraz) | Vrátí kosekans čísla expr . |
decimal(výraz) | Přetypuje hodnotu expr na DECIMAL . |
degrees(výraz) | Převede radiány na stupně. |
dělitel div dividenda | Vrátí celočíselnou část výsledku dělení divisor číslem dividend . |
double(výraz) | Přetypuje hodnotu expr na DOUBLE . |
e() | Vrátí konstantu e . |
exp(výraz) | Vrátí e umocněný na expr . |
expm1(výraz) | Vrací exp(expr) - 1 . |
faktoriál(výraz) | Vrátí faktoriál funkce expr . |
float(výraz) | Přetypuje hodnotu expr na FLOAT . |
floor(výraz[,cílováMěřítko]) | Vrátí největší číslo nedosahující méně než expr zaokrouhlené dolů na targetScale číslice vzhledem k desetinnému bodu. |
getbit(výraz, pos) | Vrátí hodnotu bitu v binární reprezentaci celočíselného číselného čísla. |
hypot(výraz1, výraz2) | Vrací sqrt(expr1 * expr1 + expr2 * expr2) . |
int(výraz) | Přetypuje hodnotu expr na INTEGER . |
isnan(výraz) | Vrátí true , pokud expr je NaN . |
ln(výraz) | Vrátí přirozený logaritmus (základ e ) hodnoty expr . |
log([base;] výraz) | Vrátí logaritmus s expr base . |
log1p(výraz) | Vrací log(1 + expr) . |
log2(výraz) | Vrátí logaritmus čísla expr se základem 2 . |
log10(výraz) | Vrátí logaritmus čísla expr se základem 10 . |
mod(dělenec, dělitel) | Vrátí zbytek po dividend / divisor . |
nanvl(výraz1, výraz2) | Vrátí expr1 , pokud není NaN , jinak expr2 . |
negativní(výraz) | Vrátí negovanou hodnotu expr . |
nullifzero(výraz) | Vrátí expr , pokud není nula, nebo NULL jinak. |
pí() | Vrátí pí. |
pmod(dividenda, dělitel) | Vrátí kladný zbytek po dividend / divisor . |
kladný(výraz) | Vrátí hodnotu expr . |
pow(výraz1, výraz2) | Umocňuje expr1 na expr2 mocninu. |
mocnina(výraz1, výraz2) | Umocňuje expr1 na expr2 mocninu. |
radiány(expr) | Převede expr ve stupních na radiány. |
rand([semínko]) | Vrátí náhodnou hodnotu mezi 0 a 1. |
randn([semínko]) | Vrátí náhodnou hodnotu ze standardního normálního rozdělení. |
random([počáteční]) | Vrátí náhodnou hodnotu mezi 0 a 1. |
rint(výraz) | Vrátí expr zaokrouhlené na celé číslo jako DOUBLE . |
round(výraz[,cílováŠkála]) | Vrátí zaokrouhlenou expr hodnotu pomocí režimu zaokrouhlení HALF_UP . |
sek(expr) | Vrátí sekans expr . |
shiftleft(výraz, n) | Vrátí bit posunutý doleva o n bitů. |
shiftright(výraz, n) | Vrátí bitově posunuté celé číslo se znaménkem doprava o n bitů. |
shiftrightunsigned(výraz, n) | Vrátí celočíselné číslo (s znaménkem nebo bez něj) posunuté doprava o n bitů. |
znamení(výraz) | Vrátí hodnotu -1,0, 0,0 nebo 1,0, jak expr je záporná, 0 nebo kladná. |
signum(argument) | Vrátí hodnotu -1,0, 0,0 nebo 1,0, jak expr je záporná, 0 nebo kladná. |
sin(výraz) | Vrátí sinus expr . |
sinh(výraz) | Vrátí hyperbolický sinus expr . |
smallint(výraz) | Přetypuje hodnotu expr na SMALLINT . |
sqrt(výraz) | Vrátí druhou odmocninu expr . |
tan(výraz) | Vrátí tangens expr . |
tanh(výraz) | Vrátí hyperbolický tangens expr . |
tinyint(výraz) | Přetypuje expr na TINYINT . |
to_number(výraz, fmt ) | Vrátí expr převedené na DECIMAL s použitím formátování fmt . |
try_add(výraz1, výraz2) | Vrátí součet expr1 a expr2 nebo NULL v případě chyby. |
try_divide(dividenda, dělitel) | Vrátí dividend hodnotu dělenou argumentem divisor , nebo NULL je-li divisor 0. |
try_mod(dividenda, dělitel) | Vrátí zbytek po dividend / divisor , nebo NULL pokud je divisor 0. |
try_multiply(násobitel, násobenec) | Vrátí multiplier hodnotu vynásobenou násobením multiplicand nebo NULL při přetečení. |
try_subtract(výraz1, výraz2) | Vrátí výsledek odečtení expr2 od expr1 , nebo NULL v případě přetečení. |
try_to_number(výraz, fmt ) | Vrátí expr převedené na DECIMAL pomocí formátování fmt , nebo NULL , pokud expr neodpovídá formátu. |
uniform(výraz1, výraz2 [,semínko]) | Vrátí náhodnou hodnotu s nezávislými a identickými distribuovanými hodnotami v zadaném rozsahu čísel. |
width_bucket(výraz, minExpr, maxExpr, numBuckets) | Vrátí číslo kontejneru pro danou hodnotu v histogramu s rovnoměrnou šířkou. |
zeroifnull(výraz) | Vrátí expr , pokud není NULL , nebo 0 jinak. |
Agregační funkce
Funkce | Popis |
---|---|
libovolný(výraz) | Vrátí hodnotu true, pokud je pravdivá alespoň jedna hodnota expr ve skupině. |
any_value(výraz[,ignoreNull]) | Vrátí hodnotu expr pro skupinu řádků. |
approx_count_distinct(výraz[;relativeSD]) | Vrátí odhadovaný počet jedinečných hodnot ve expr skupině. |
approx_percentile(výraz,procento[;přesnost]) | Vrátí přibližný percentil expr skupiny. |
approx_top_k(výraz[;k[;maxItemsTracked]]) | Vrátí nejvyšší k nejčastěji se vyskytující hodnoty položek v expr spolu s jejich přibližnými počty. |
array_agg(výraz) | Vrátí pole, které se skládá ze všech hodnot ve skupině expr . |
avg(výraz) | Vrátí střední hodnotu vypočítanou z hodnot skupiny. |
bit_and(výraz) | Vrátí bitové AND všech vstupních hodnot ve skupině. |
bit_or(výraz) | Vrátí bitové OR všech vstupních hodnot ve skupině. |
bit_xor(výraz) | Vrátí bitové XOR všech vstupních hodnot ve skupině. |
bitmap_construct_agg(výraz) | Vrátí bitovou hodnotu OR všech hodnot umístění bitů ve skupině. mezi 0 a 32767 ve skupině jako BINARY . |
bitmap_or_agg(výraz) | Vrátí bitovou hodnotu OR všech BINARY vstupních hodnot ve skupině. |
bool_and(výraz) | Vrátí hodnotu true, pokud jsou všechny hodnoty ve expr skupině pravdivé. |
bool_or(výraz) | Vrátí hodnotu true, pokud je ve skupině pravdivá alespoň jedna hodnota expr . |
collect_list(výraz) | Vrátí pole, které se skládá ze všech hodnot ve skupině expr . |
collect_set(výraz) | Vrátí pole, které se skládá ze všech jedinečných hodnot v expr v rámci skupiny. |
corr(výraz1, výraz2) | Vrátí Pearsonův koeficient korelace mezi skupinou číselných párů. |
count(*) | Vrátí celkový počet načtených řádků ve skupině, včetně řádků obsahujících hodnotu null. |
count(výraz[; ...]) | Vrátí počet řádků ve skupině, pro které jsou zadané výrazy všechny nenulové. |
count_if(výraz) | Vrátí počet hodnot true pro skupinu v expr . |
count_min_sketch(column;epsilon;confidence;seed) | Vrátí náčrtek s minimálním počtem všech hodnot ve skupině ve column s epsilon , confidence a seed . |
covar_pop(výraz1,výraz2) | Vrátí populační kovarianci párů čísel ve skupině. |
covar_samp(výraz1,výraz2) | Vrátí kovarianci vzorku dvojic čísel ve skupině. |
every(výraz) | Vrátí hodnotu true, pokud jsou splněny všechny hodnoty expr ve skupině. |
first(výraz[,ignoreNull]) | Vrátí první hodnotu expr pro skupinu řádků. |
first_value(výraz[;ignoreNull]) | Vrátí první hodnotu expr pro skupinu řádků. |
histogram_numeric(výraz, početBinů) | Vypočítá histogram expr s numBins biny a vrátí pole dvojic reprezentujících středy binů. |
hll_sketch_agg(výraz[;lgConfigK]) | Vrátí náčrtek HyperLogLogu použitý k přiblížení počtu jedinečných hodnot. |
hll_union_agg(výraz[;allowDifferentLgConfigK]) | Agreguje náčrtky HyperLogu pro skupinu řádků. |
kurtóza(expr) | Vrátí hodnotu kurtózy vypočítanou z hodnot skupiny. |
last(výraz[;ignoreNull]) | Vrátí poslední hodnotu expr pro skupinu řádků. |
last_value(výraz[,ignoreNull]) | Vrátí poslední hodnotu expr pro skupinu řádků. |
listagg(výraz[;delim]) [WITHIN GROUP (ORDER BY klíč [,...])] | Vrátí STRING nebo BINARY , které obsahují všechny hodnoty v expr v rámci skupiny a jsou odděleny delim . |
max(výraz) | Vrátí maximální hodnotu expr ve skupině. |
max_by(výraz1;výraz2) | Vrátí hodnotu, která je spojena s maximální hodnotou expr1 ve skupině. |
průměr(výraz) | Vrátí střední hodnotu vypočítanou z hodnot skupiny. |
měřit(sloupec_měření) | Vrátí hodnotu metriky vypočítanou na základě hodnot skupiny. |
medián (výraz) | Vrátí medián vypočítaný z hodnot skupiny. |
min(výraz) | Vrátí minimální hodnotu expr ve skupině. |
min_by(výraz1, výraz2) | Vrátí hodnotu expr1 přidružené k minimální hodnotě expr2 ve skupině. |
mode(výraz [;deterministic]) | Vrátí nejčastější, ne NULL , hodnotu expr ve skupině. |
percentil(výraz, procento [;frekvence]) | Vrátí přesnou hodnotu percentilu pro zadanou hodnotu expr pro percentage . |
percentile_approx(výraz, procentní podíl[, přesnost]) | Vrátí přibližný percentil expr skupiny. |
percentile_cont(pct) WITHIN GROUP (klíčORDER BY) | Vrátí interpolovaný percentil key uvnitř skupiny. |
percentile_disc(pct) WITHIN GROUP (klíčORDER BY) | Vrátí diskrétní percentil key uvnitř skupiny. |
regr_avgx(yExpr, xExpr) | Vrátí střední hodnotu xExpr vypočítanou z hodnot skupiny, kde jsou xExpr a yExpr NOT NULL . |
regr_avgy(yExpr, xExpr) | Vrátí střední hodnotu yExpr vypočítanou z hodnot skupiny, kde jsou xExpr a yExpr NOT NULL . |
regr_count(yExpr, xExpr) | Vrátí počet dvojic yExpr hodnot, které nejsou null , xExpr ve skupině. |
regr_intercept(yExpr, xExpr) | Vrátí úsek jednorozměrné lineární regresní přímky pro skupinu, kde xExpr a yExpr nejsou NULL. |
regr_r2(yExpr, xExpr) | Vrátí koeficient stanovení z hodnot skupiny, kde xExpr a yExpr nejsou NULL. |
regr_slope(yExpr, xExpr) | Vrátí sklon lineární regresní přímky párů nenulových hodnot yExpr , xExpr ve skupině. |
regr_sxx(yExpr, xExpr) | Vrátí součet čtverců xExpr hodnot skupiny, kde xExpr a yExpr nejsou NULL. |
regr_sxy(yExpr, xExpr) | Vrátí součet součinů vypočítaných z hodnot skupiny yExpr a xExpr , kde xExpr a yExpr jsou NOT NULL . |
regr_syy(yExpr, xExpr) | Vrátí součet čtverců yExpr hodnot skupiny, kde xExpr a yExpr nejsou NULL. |
schema_of_json_agg(json[; options]) | Vrátí kombinované schéma JSON řetězců ve skupině ve formátu DDL. |
schema_of_variant_agg(variantExpr) | Vrátí kombinované schéma všech VARIANT hodnot ve skupině ve formátu DDL. |
nerovnoměrná distribuce (výraz) | Vrátí hodnotu nerovnoměrné distribuce vypočítanou z hodnot skupiny. |
some(výraz) | Vrátí hodnotu true, pokud je ve skupině alespoň jedna hodnota expr rovna true . |
std(expression) | Vrátí směrodatnou odchylku vzorku vypočítanou z hodnot ve skupině. |
stddev(výraz) | Vrátí směrodatnou odchylku vzorku vypočítanou z hodnot ve skupině. |
stddev_pop(výraz) | Vrátí směrodatnou odchylku populace vypočítanou z hodnot skupiny. |
stddev_samp(výraz) | Vrátí směrodatnou odchylku vzorku vypočítanou z hodnot skupiny. |
string_agg(výraz[,delim]) [V RÁMCI SKUPINY (ORDER BY klíč [,...])] | Vrátí STRING nebo BINARY , které obsahují všechny hodnoty v expr v rámci skupiny a jsou odděleny delim . |
suma(výraz) | Vrátí součet vypočítaný z hodnot skupiny. |
try_avg(výraz) | Vrátí střední hodnotu vypočítanou z hodnot skupiny, NULL pokud je přetečení. |
try_sum(výraz) | Vrátí součet vypočítaný z hodnot skupiny, NULL pokud je přetečení. |
var_pop(výraz) | Vrátí rozptyl populace vypočítaný ze souboru hodnot skupiny. |
var_samp(výraz) | Vrátí rozptyl vzorku vypočítaný z hodnot skupiny. |
rozptyl(výraz) | Vrátí rozptyl vzorku vypočítaný z hodnot skupiny. |
Funkce okna pro řazení podle pořadí
Funkce | Popis |
---|---|
dense_rank() | Vrátí hodnocení hodnoty ve srovnání se všemi hodnotami v části. |
ntile(n) | Rozdělí řádky pro každý oddíl okna do n kbelíků v rozsahu od 1 do maximálně n . |
percent_rank() | Vypočítá procentuální hodnocení hodnoty v rámci části. |
rank() | Vrátí hodnocení hodnoty ve srovnání se všemi hodnotami v části. |
row_number() | Přiřadí každému řádku jedinečné pořadové číslo, počínaje jedním podle pořadí řádků v rámci oddílu okna. |
Analytické funkce oken
Funkce | Popis |
---|---|
cume_dist() | Vrátí pozici hodnoty ve vztahu ke všem hodnotám v části. |
lag(výraz[,offset[,default]]) | Vrátí hodnotu expr z předchozího řádku v rámci dané části. |
lead(expr[;offset[;default]]) | Vrátí hodnotu expr z dalšího řádku v rámci skupiny. |
nth_value(výraz; offset[; ignoreNulls]) | Vrátí hodnotu expr v určitém offset okně. |
Funkce polí
Funkce | Popis |
---|---|
arrayExpr[indexExpr] | Vrátí prvek na pozici indexExpr pole ARRAY arrayExpr . |
aggregate(výraz,start,merge[;finish]) | Agreguje prvky v poli pomocí vlastního agregátoru. |
array([výraz [, ...]]) | Vrátí pole s prvky v expr . |
array_append(pole, elem) | Vrátí array s příponou elem . |
array_compact(pole) | Odebere hodnoty NULL z array . |
array_contains(pole,hodnota) | Vrátí hodnotu true, pokud array obsahuje value . |
array_distinct(pole) | Odebere duplicitní hodnoty z array . |
array_except(matice1;matice2) | Vrátí pole prvků v array1 , ale ne v array2 . |
array_insert(pole, index, elem) | Vrátí rozbalené array , kde je elem vložen na index pozici. |
array_intersect(matice1;matice2) | Vrátí pole prvků v průsečíku array1 a array2 . |
array_join(pole,oddělovač[,nullReplacement]) | Zřetězí prvky array . |
array_max(pole) | Vrátí maximální hodnotu v array . |
array_min(pole) | Vrátí minimální hodnotu v array . |
array_position(array;element) | Vrátí pozici prvního výskytu element v array . |
array_prepend(pole, elem) | Vrátí array přidané na začátek elem . |
array_remove(array;element) | Odebere všechny výskyty element z array . |
array_repeat(element;count) | Vrátí pole obsahující element count časy. |
array_size(pole) | Vrátí počet prvků v array . |
array_sort(pole,func) | Vrátí array seřazené podle func . |
array_union(matice1;matice2) | Vrátí pole prvků ve sjednocení array1 a array2 bez duplicit. |
arrays_overlap(matice1; matice2) | Vrátí hodnotu true, pokud průsečík array1 a array2 není prázdný. |
arrays_zip(pole1 [, …]) | Vrátí sloučené pole struktur, kde n-tá struktura obsahuje všechny n-té hodnoty ze vstupních polí. |
kardinalita(výraz) | Vrátí velikost expr . |
concat(výraz1, výraz2 [; ...]) | Vrátí zřetězení argumentů. |
element_at(arrayExpr, index) | Vrátí prvek arrayExpr na index . |
exists(výraz, predikát) | Vrátí hodnotu true, pokud pred je true pro libovolný prvek v expr . |
explode(collection) | Vrátí řádky rozbalením collection . |
explode_outer(kolekce) | Vrátí řádky rozbalením vnoření collection pomocí vnější sémantiky. |
filter(výraz, funkce) | Filtruje pole expr pomocí funkce func . |
flatten(arrayOfArrays) | Transformuje pole polí na jedno pole. |
forall(výraz, predFunc) | Testuje, zda predFunc platí pro všechny prvky v poli. |
get(arrayExpr, index) | Vrátí prvek objektu arrayExpr na index , počínaje od 0 . |
vloženo (vstup) | Převádí pole struktur do tabulky. |
inline_outer(vstup) | Rozloží pole struktur do tabulky s vnější sémantikou. |
posexplode(kolekce) | Vrátí řádky rozbalením pole a očíslováním pozic. |
posexplode_outer(kolekce) | Vrátí řádky rozbalením pole a očíslováním pozic pomocí OUTER sémantiky. |
reduce(výraz,start,merge[;finish]) | Agreguje prvky v poli pomocí vlastního agregátoru. |
reverse(array) | Vrátí obrácený řetězec nebo pole s obráceným pořadím prvků. |
sequence(start;stop;step) | Vygeneruje pole prvků od start do stop (včetně) zvýšení o step . |
shuffle(array) | Vrátí náhodnou permutaci pole v expr . |
velikost(výraz) | Vrátí kardinalitu expr . |
slice(výraz,začátek,délka) | Vrátí podmnožinu pole. |
sort_array(výraz[,vzestupnéŘazení]) | Vrátí pole v expr seřazeném pořadí. |
transform(výraz, funkce) | Transformuje prvky v poli expr pomocí funkce func . |
try_element_at(arrayExpr, index) | Vrátí prvek objektu arrayExpr na index , nebo NULL , je-li index mimo rozsah. |
zip_with(výraz1, výraz2, funkce) | Sloučí pole expr1 a expr2 po prvcích do jednoho pole pomocí func . |
Mapové funkce
Funkce | Popis |
---|---|
mapExpr[keyExpr] | Vrátí hodnotu v keyExpr mapě mapExpr . |
kardinalita(výraz) | Vrátí velikost expr . |
element_at(mapExpr, klíč) | Vrátí hodnotu mapExpr pro key . |
explode(collection) | Vrátí řádky rozbalením expr . |
explode_outer(kolekce) | Vrátí řádky rozbalením vnoření expr pomocí vnější sémantiky. |
map([{klíč1; hodnota1}[; ...]]) | Vytvoří mapu se zadanými páry klíč-hodnota. |
map_concat([výraz1 [, ...]]) | Vrátí sjednocení všech expr mapových výrazů. |
map_contains_key(mapa, klíč) | Vrátí true , pokud map obsahuje key , false jinak. |
položky_mapy(mapa) | Vrátí neuspořádané pole všech položek v map . |
map_filter(výraz, funkce) | Filtruje položky v mapě expr pomocí funkce func . |
map_from_arrays(klíče, hodnoty) | Vytvoří mapu s dvojicí keys polí a values polí. |
map_from_entries(výraz) | Vytvoří mapu vytvořenou ze zadaného pole položek. |
map_keys(mapa) | Vrátí neuspořádané pole obsahující klíče map . |
map_values(mapa) | Vrátí neseřazenou matici obsahující hodnoty map . |
map_zip_with(mapa1, mapa2, funkce) | Sloučí map1 a map2 do jedné mapy. |
velikost(výraz) | Vrátí kardinalitu expr . |
str_to_map(výraz[;pairDelim[;keyValueDelim]]) | Vrátí mapu po rozdělení expr na páry klíč-hodnota pomocí oddělovačů. |
transform_keys(výraz, funkce) | Transformuje klíče v mapě expr pomocí funkce func . |
transform_values(výraz, funkce) | Transformuje hodnoty v mapě v expr pomocí funkce func . |
try_element_at(mapExpr, klíč) | Vrátí hodnotu mapExpr pro key , nebo NULL , pokud key neexistuje. |
Funkce data, časového razítka a intervalu
Informace o formátech data a časového razítka najdete v Vzory formátů data a času.
Funkce | Popis |
---|---|
intervalExpr / dělitel | Vrátí interval dělený divisor . |
– intervalExpr | Vrátí negovanou hodnotu intervalExpr . |
intervalExpr1 – intervalExpr2 | Vrátí výsledek odečtení intervalExpr2 od intervalExpr1 . |
datetimeExpr1 – datetimeExpr2 | Vrátí výsledek odečtení datetimeExpr2 od datetimeExpr1 . |
+ intervalExpr | Vrátí hodnotu intervalExpr . |
intervalExpr1 + intervalExpr2 | Vrátí součet intervalExpr1 a intervalExpr2 . |
intervalExpr * multiplikand | Vrátí intervalExpr hodnotu vynásobenou multiplicand . |
abs(výraz) | Vrátí absolutní hodnotu hodnoty intervalu v expr . |
add_months(startDate;numMonths) | Vrátí datum, které následuje numMonths startDate . |
curdate() | Vrátí aktuální datum na začátku vyhodnocení dotazu. |
current_date() | Vrátí aktuální datum na začátku vyhodnocení dotazu. |
current_timestamp() | Vrátí aktuální časové razítko na začátku vyhodnocení dotazu. |
current_timezone() | Vrátí aktuální místní časové pásmo relace. |
date(výraz) | Přetypuje hodnotu expr na DATE. |
date_add(startDate;numDays) | Vrátí datum numDays po startDate . |
date_add(jednotka, hodnota, výraz) | Přidá value unit s k časovému razítku expr . |
date_diff(jednotka, začátek, konec) | Vrátí rozdíl mezi dvěma časovými značkami měřenými ve unit s. |
date_format(výraz,fmt) | Převede časové razítko na řetězec ve formátu fmt . |
date_from_unix_date(dny) | Vytvoří datum z počtu dnů od 1970-01-01 . |
date_part(pole,výraz) | Extrahuje část data, časového razítka nebo intervalu. |
date_sub(startDate;numDays) | Vrátí datum numDays před startDate . |
date_trunc(jednotka, výraz) | Vrátí zkrácené časové razítko na jednotku zadanou v unit . |
dateadd(startDate;numDays) | Vrátí datum numDays po startDate . |
dateadd(jednotka, hodnota, výraz) | Přidá value unit s k časovému razítku expr . |
datediff(endDate,startDate) | Vrátí počet dnů od startDate do endDate . |
datediff(jednotka, start, stop) | Vrátí rozdíl mezi dvěma časovými značkami měřenými ve unit s. |
den(výraz) | Vrátí den měsíce zadaného data nebo časového razítka. |
den_jméno(výraz) | Vrátí třípísmennou anglickou zkratku pro den v týdnu pro dané datum. |
denvmesici(výraz) | Vrátí den měsíce zadaného data nebo časového razítka. |
dayofweek(výraz) | Vrátí den v týdnu z daného data nebo časového razítka. |
denvroku(výraz) | Vrátí den v roce pro dané datum nebo časové razítko. |
dělitel div dividenda | Vrátí celočíselnou část dělení intervalu divisor podle intervalu dividend . |
extrahovat(pole Z zdroj) | Vrátí field z source . |
from_unixtime(unixTime,fmt) | Vrací unixTime v fmt . |
from_utc_timestamp(výraz, časové pásmo) | Vrátí časové razítko v UTC pro časové razítko na expr timeZone . |
getdate() | Vrátí aktuální časové razítko na začátku vyhodnocení dotazu. |
hour(výraz) | Vrátí hodinovou komponentu časového razítka. |
last_day(výraz) | Vrátí poslední den v měsíci, do kterého datum patří. |
make_date(rok;měsíc;den) | Vytvoří datum z year , month a day pole. |
make_dt_interval([dny[; hodiny[; mins[; sekundy]]]] ) | Vytvoří denní časový interval z days , hours , mins a secs . |
make_interval(roky, měsíce, týdny, dny, hodiny, miny, sekundy) | Zastaralé: Vytvoří interval z years , months , weeks , days , hours , mins a secs . |
make_timestamp(rok,měsíc,den,hodina,min;s[;časové pásmo]) | Vytvoří časové razítko z polí year , month , day , hour , min , sec a timezone . |
make_ym_interval([roky[; měsíce]]) | Vytvoří interval rok-měsíc z years a months . |
minute(výraz) | Vrátí minutovou součást časového razítka v expr . |
month(výraz) | Vrátí část časového razítka odpovídající měsíci v expr . |
months_between(výraz1,výraz2[,zaokrouhlení]) | Vrátí počet měsíců uplynulých mezi kalendářními daty nebo časovými razítky v expr1 a expr2 . |
next_day(výraz,denV týdnu) | Vrátí první datum, které je pozdější než expr a pojmenované jako v dayOfWeek . |
now() | Vrátí aktuální časové razítko na začátku vyhodnocení dotazu. |
quarter(výraz) | Vrátí čtvrtletí roku pro expr v rozsahu 1 až 4. |
druhá(výraz) | Vrátí druhou komponentu časového razítka v expr . |
session_window(výraz, gpDuration) | Vytvoří okno sezení nad výrazem časového razítka. |
znamení(výraz) | Vrátí hodnotu -1,0, 0,0 nebo 1,0, protože interval expr je záporný, 0 nebo kladný. |
signum(argument) | Vrátí hodnotu -1,0, 0,0 nebo 1,0, protože interval expr je záporný, 0 nebo kladný. |
timediff(jednotka, start, stop) | Vrátí rozdíl mezi dvěma časovými značkami měřenými ve unit s. |
timestamp(výraz) | Přetypuje expr na TIMESTAMP . |
timestamp_micros(výraz) | Vytvoří časové razítko expr mikrosekund od počátku epochy UTC. |
timestamp_millis(výraz) | Vytvoří časové razítko expr milisekund od počátku epochy UTC. |
timestamp_seconds(výraz) | Vytvoří časové razítko expr sekund od začátku epochy UTC. |
timestampadd(jednotka, hodnota, výraz) | Přidá value unit s k časovému razítku expr . |
timestampdiff(jednotka, začátek, konec) | Vrátí rozdíl mezi dvěma časovými značkami měřenými ve unit s. |
to_date(výraz[;fmt]) | Vrátí expr převedení na datum s volitelným formátováním. |
to_timestamp(výraz[;fmt]) | Vrátí expr převedení na časové razítko s použitím volitelného formátování. |
to_unix_timestamp(výraz[;fmt]) | Vrátí časové razítko v expr jako UNIXové časové razítko. |
to_utc_timestamp(expr, časové pásmo) | Vrátí časové razítko v UTC pro časové razítko na expr timezone . |
trunc(výraz, formát) | Vrátí datum s částí data zkrácenou na jednotku určenou formátovým modelem fmt . |
try_add(výraz1, výraz2) | Vrátí součet expr1 a expr2 , nebo hodnotu NULL v případě chyby. |
try_divide(dividenda, dělitel) | Vrátí dividend hodnotu dělenou hodnotou divisor , nebo NULL, pokud divisor je 0. |
try_multiply(násobitel, násobenec) | Vrátí multiplier hodnotu vynásobenou násobením multiplicand nebo NULL při přetečení. |
try_subtract(výraz1, výraz2) | Vrátí výsledek odečtení expr2 od expr1 , nebo NULL v případě přetečení. |
try_to_timestamp(výraz[,formát]) | Vrátí expr převedené na časové razítko pomocí volitelného formátování, nebo NULL pokud se převod nezdaří. |
unix_date(výraz) | Vrátí počet dnů od 1970-01-01 . |
unix_micros(výraz) | Vrátí počet mikrosekund od 1970-01-01 00:00:00 UTC . |
unix_millis(výraz) | Vrátí počet milisekund od 1970-01-01 00:00:00 UTC . |
unix_seconds(výraz) | Vrátí počet sekund od 1970-01-01 00:00:00 UTC . |
unix_timestamp([výraz[; fmt]]) | Vrátí UNIX časové razítko aktuálního nebo zadaného času. |
weekday(výraz) | Vrátí den v týdnu expr . |
weekofyear(výraz) | Vrátí týden v roce expr . |
year(výraz) | Vrátí složku roku expr . |
window(výraz, šířka[, krok[, start]]) | Vytvoří přeskakující posuvné okno nad výrazem časového razítka. |
window_time(okno) | Vrátí inkluzivní koncový čas posuvného okna vytvořeného funkcemi okna nebo session_window . |
Geoprostorové funkce H3
Informace o geoprostorových funkcích H3 najdete v tématu Geoprostorové funkce H3.
Funkce pro přetypování a konstruktory
Informace o přetypování mezi typy naleznete v části o cast
funkci a try_cast
funkci.
Funkce | Popis |
---|---|
array([výraz [, ...]]) | Vrátí pole s prvky v expr . |
bigint(výraz) | Přetypuje hodnotu expr na BIGINT . |
binary(výraz) | Přetypuje hodnotu expr na BINARY . |
boolean(výraz) | Přetypuje expr na BOOLEAN . |
cast(typ AS výrazu) | Přetypuje hodnotu expr na cílový datový typ type . |
výraz :: typ | Přetypuje hodnotu expr na cílový datový typ type . |
date(výraz) | Přetypuje hodnotu expr na DATE . |
decimal(výraz) | Přetypuje hodnotu expr na DECIMAL . |
double(výraz) | Přetypuje hodnotu expr na DOUBLE . |
float(výraz) | Přetypuje hodnotu expr na FLOAT . |
int(výraz) | Přetypuje hodnotu expr na INTEGER . |
make_date(rok;měsíc;den) | Vytvoří datum z year , month a day pole. |
make_dt_interval([dny[; hodiny[; mins[; sekundy]]]] ) | Vytvoří denní časový interval z days , hours , mins a secs . |
make_interval(roky, měsíce, týdny, dny, hodiny, miny, sekundy) | Vytvoří interval z years , , months weeks , days , hours mins a secs . |
make_timestamp(rok,měsíc,den,hodina,min;s[;časové pásmo]) | Vytvoří časové razítko z polí year , month , day , hour , min , sec a timezone . |
make_ym_interval([roky[; měsíce]]) | Vytvoří interval rok-měsíc z years a months . |
map([{klíč1; hodnota1} [; ...]]) | Vytvoří mapu se zadanými páry klíč-hodnota. |
named_struct({name1; val1} [; ...]) | Vytvoří strukturu se zadanými názvy polí a hodnotami. |
smallint(výraz) | Přetypuje hodnotu expr na SMALLINT . |
string(výraz) | Přetypuje hodnotu expr na STRING . |
struct(expr1 [; ...]) | Vytvoří hodnotu STRUCT se zadanými hodnotami polí. |
tinyint(výraz) | Přetypuje expr na TINYINT . |
timestamp(výraz) | Přetypuje expr na TIMESTAMP . |
to_char(výraz, formát) | Vrátí expr přetypované na STRING pomocí formátování fmt . |
to_date(výraz[;fmt]) | Vrátí expr převedení na datum s volitelným formátováním. |
to_number(výraz, formát) | Vrátí expr převedené na DECIMA L za použití formátování fmt . |
to_timestamp(výraz[;fmt]) | Vrátí expr převedení na časové razítko s použitím volitelného formátování. |
to_varchar(výraz, fmt) | Vrátí expr přetypované na STRING pomocí formátování fmt . |
try_cast(expr AS typ) | Přetypuje hodnotu expr na cílový datový typ type bezpečně. |
try_to_number(výraz, fmt) | Vrátí expr přetypované na DECIMAL pomocí formátování fmt , nebo NULL pokud expr není platná hodnota. |
Funkce CSV a Avro
Funkce | Popis |
---|---|
from_avro(avroBin, jsonSchema[; options]) | Vrátí hodnotu struktury na základě avroBin a jsonSchema . |
from_csv(csvStr, schema[; options]) | Vrátí hodnotu struktury s hodnotou csvStr a schema . |
schema_of_csv(csv[, možnosti]) | Vrátí schéma řetězce CSV ve formátu DDL. |
to_avro(výraz[, možnosti]) | Vrátí binární hodnotu Avro se zadanou hodnotou struktury. |
to_csv(expr[, možnosti]) | Vrátí řetězec CSV se zadanou hodnotou struktury. |
Funkce JSON
Funkce | Popis |
---|---|
jsonStr : jsonPath | Vrátí pole extrahovaná z objektu jsonStr . |
from_json(jsonStr, schema[; options]) | Vrátí hodnotu struktury s hodnotou jsonStr a schema . |
get_json_object(výraz, cesta) | Extrahuje objekt z JSON objektu path . |
json_array_length(jsonArray) | Vrátí počet prvků v nejkrajnější JSON matici. |
json_object_keys(jsonObject) | Vrátí všechny klíče vnějšího JSON objektu jako pole. |
json_tuple(jsonStr, path1 [, ...]) | Vrátí více JSON objektů jako řazenou kolekci členů. |
parse_json(jsonStr) |
VARIANT Vrátí hodnotu z objektu jsonStr . |
schema_of_json(jsonStr[; options]) | Vrátí schéma JSON řetězce ve formátu DDL. |
schema_of_json_agg(jsonStr[; options]) | Vrátí kombinované schéma JSON řetězců ve skupině ve formátu DDL. |
to_json(výraz[, možnosti]) | Vrátí řetězec JSON se STRUCT nebo VARIANT zadaným v expr . |
Funkce VARIANT
Funkce | Popis |
---|---|
variantExpr: jsonPath | Vrátí pole extrahovaná z variantExpr pomocí JSON path. |
is_variant_null(variantExpr) | Testuje, zda je variantExpr VARIANT kódovaný NULL . |
parse_json(jsonStr) |
VARIANT Vrátí hodnotu z objektu jsonStr . |
schema_of_variant(variantExpr) | Vrátí schéma výrazu VARIANT ve formátu DDL. |
schema_of_variant_agg(variantExpr) | Vrátí kombinované schéma všech VARIANT hodnot ve skupině ve formátu DDL. |
to_json(výraz[, možnosti]) | Vrátí řetězec JSON se STRUCT nebo VARIANT zadaným v expr . |
try_parse_json(jsonStr) |
VARIANT vrátí hodnotu z jsonStr , pokud je to možné. Pokud to není možné, vrátí se NULL . |
try_variant_get(variantExpr;path;type) | Extrahuje hodnotu typu type ze variantExpr , zadaného hodnotou path , nebo hodnotu NULL , pokud není možné přetypovat na cílový typ. |
variant_explode(vstup) | Vrátí sadu řádků rozbalením input . |
variant_explode_outer(vstup) | Vrátí sadu řádků rozbalením vnoření input pomocí externí sémantiky. |
variant_get(variantExpr,path;type) | Extrahuje hodnotu typu type z variantExpr , kterou specifikuje parametr path . |
Funkce XPath a XML
Funkce | Popis |
---|---|
from_xml(xmlStr, schema[; options]) | Vrátí hodnotu struktury, která je parsována z xmlStr pomocí schema . |
schema_of_xml(xmlStr[; options]) | Vrátí schéma XML řetězce ve formátu DDL. |
xpath(xml, xpath) | Vrátí hodnoty v uzlech xml , které odpovídají xpath . |
xpath_boolean(xml, xpath) | Vrátí true , pokud se xpath výraz vyhodnotí jako true nebo pokud je nalezen odpovídající uzel xml . |
xpath_double(xml, xpath) |
DOUBLE Vrátí hodnotu z dokumentu XML. |
xpath_float(xml, xpath) |
FLOAT Vrátí hodnotu z dokumentu XML. |
xpath_int(xml, xpath) |
INTEGER Vrátí hodnotu z dokumentu XML. |
xpath_long(xml, xpath) |
BIGINT Vrátí hodnotu z dokumentu XML. |
xpath_number(xml, xpath) |
DOUBLE Vrátí hodnotu z dokumentu XML. |
xpath_short(xml, xpath) |
SHORT Vrátí hodnotu z dokumentu XML. |
xpath_string(xml, xpath) | Vrátí obsah prvního uzlu XML, který odpovídá výrazu XPath. |
Funkce AI
Funkce | Popis |
---|---|
ai_analyze_sentiment(obsah) | Vrátí sentiment textu. |
ai_classify(obsah, popisky) | Klasifikuje zadaný obsah do jednoho z poskytnutých popisků. |
ai_extract(obsah, popisky) | Extrahuje entity určené popisky z daného textu. |
ai_fix_grammar(obsah) | Opraví gramatické chyby v daném textu. |
ai_forecast(pozorování, časový_sloupec) | Extrapoluje data časových řad do budoucnosti. |
ai_gen(obsah) | Vyvolá špičkový generativní model umělé inteligence z rozhraní API modelu Databricks Foundation, aby odpověděl na uživatelem poskytnutý podnět. |
ai_generate_text(prompt; modelName[; param1; value1] [...]) | Zastaralé: Vrátí text vygenerovaný vybraným velkým jazykovým modelem (LLM) na základě zadaného podnětu. |
ai_mask(obsah, popisky) | Maskuje zadané entity v daném textu. |
ai_query(endpointName, request, returnType) | Vyvolá existující koncový bod obsluhy modelu Mosaic AI a parsuje a vrátí její odpověď. |
ai_similarity(strExpr1, strExpr2) | Porovná dva řetězce a vypočítá sémantické skóre podobnosti. |
ai_summarize(obsah[, max_words]) | Vygeneruje souhrn daného textu. |
ai_translate(obsah, to_lang) | Přeloží text do zadaného cílového jazyka. |
vector_search(index, dotaz, počet_výsledků) | Dotaz na index Mosaic AI Vector Search pomocí jazyka SQL. |
Funkce pro čtení
Funkce | Popis |
---|---|
read_files(cesta, [optionKey => optionValue] [, …]) | Čte datové soubory v cloudovém úložišti a vrací je v tabulkovém formátu. |
read_kafka([optionKey => optionValue] [; ...]) | Čte záznamy z clusteru Apache Kafka a vrací je v tabulkovém formátu. |
read_kinesis({parameter => value} [; ...]) | Vrátí tabulku se záznamy načtenými z Kinesis z jednoho nebo více datových proudů. |
read_pubsub([parametr => hodnota], [ …]) | Funkce tabulkové hodnoty pro čtení záznamů z Pub/Sub z tématu. |
read_pulsar({optionKey => optionValue} [; ...]) | Vrátí tabulku se záznamy načtenými z Pulsaru. |
read_state_metadata(cesta) | Vrátí tabulku s řádky, které představují metadata stavu dotazu streamování. |
read_statestore(cesta [, option_key => option_value] [...]) | Vrátí záznamy z úložiště stavů streamovaných dotazů. |
Různé funkce
Funkce | Popis |
---|---|
assert_true(výraz) | Vrátí chybu, pokud expr není pravdivá. |
CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] KONEC | Vrátí resN pro první optN , která se rovná expr , nebo def pokud se žádná neshoduje. |
CASE { WHEN cond1 THEN res1 } [...] [ELSE def] KONEC | Vrátí resN hodnotu pro první condN , která se vyhodnotí jako true, nebo def pokud se žádná nenašla. |
cloud_files_state( { TABLE(tabulka) | kontrolní bod } ) | Vrátí stav na úrovni souboru zdroje automatického zavaděče cloud_files . |
coalesce(výraz1; výraz2 [; ...]) | Vrátí první argument, který není null. |
řazení() | Vrátí seznam dostupných seřazení. |
cube (výraz1 [, ...]) | Vytvoří multidimenzionální datovou krychli pomocí sloupců se zadanými výrazy. |
current_catalog() | Vrátí aktuální katalog. |
current_database() | Vrátí aktuální schéma. |
current_metastore() | Vrátí aktuální id metastoru katalogu Unity. |
current_recipient(klíč) | Vrátí vlastnost pro aktuálního příjemce v zobrazení sdíleném prostřednictvím Delta Sharing. |
current_schema() | Vrátí aktuální schéma. |
current_user() | Vrátí uživatele, který příkaz spouští. |
current_version() | Vrátí aktuální verzi Azure Databricks. |
decode(expr; { key, value } [; ...] [,defValue]) | Vrátí hodnotu odpovídající klíči. |
elt(index, výraz1 [, ...] ) | Vrátí n-tý výraz. |
equal_null(výraz1, výraz2) | Vrátí true , pokud je expr1 rovno expr2 nebo jsou oba výrazy NULL , nebo false jinak. |
event_log( { TABLE(tabulka) | pipeline_id } ) | Vrátí tabulku historie obnovování pro materializované zobrazení, streamovanou tabulku nebo pipeline. |
greatest(výraz1, výraz2 [, ...]) | Vrátí největší hodnotu všech argumentů a přeskočí hodnoty null. |
seskupení(sloupec) | Určuje, zda zadaný sloupec v GROUPING SET , ROLLUP nebo CUBE představuje mezisoučet. |
grouping_id([sloupec1 [; ...]]) | Vrátí úroveň seskupení pro sadu sloupců. |
hash(expr1 [, ...]) | Vrátí zhashovanou hodnotu argumentů. |
hll_sketch_estimate(výraz) | Odhaduje počet jedinečných hodnot shromážděných ve skici HyperLogLogu. |
hll_union(výraz1, výraz2 [;allowDifferentLgConfigK]) | Kombinuje dva náčrty HyperLogLogu. |
http_request({parm => výraz} [, ...]) | Vytvoří požadavek HTTP pomocí definovaného připojení HTTP. |
java_method(třída, metoda[; arg1 [; ...]]) | Volá metodu s reflexí. |
if(podmínka, výraz1, výraz2) | Vrátí expr1 , pokud cond je true , jinak expr2 . |
iff(cond, výraz1, výraz2) | Vrátí expr1 , pokud cond je true , jinak expr2 . |
ifnull(výraz1, výraz2) | Vrátí expr2 , pokud expr1 je NULL , jinak expr1 . |
input_file_block_length() - funkce pro získání délky bloku vstupního souboru | Vrátí délku v bajtech bloku, který se čte. |
input_file_block_start() | Vrátí počáteční posun v bajtech bloku, který se čte. |
input_file_name() | Vrátí název souboru, který se čte, nebo prázdný řetězec, pokud není k dispozici. |
is_account_group_member(skupina) | Vrátí hodnotu true, pokud je aktuální uživatel členem skupiny na úrovni účtu. |
is_member(skupina) | Vrátí hodnotu true, pokud je aktuální uživatel členem skupiny na úrovni pracovního prostoru. |
isnull(výraz) | Vrátí true , pokud expr je NULL . |
isnotnull(výraz) | Vrátí true , pokud expr není NULL . |
least(výraz1; výraz2 [; ...]) | Vrátí nejmenší hodnotu všech argumentů a přeskočí hodnoty null. |
list_secrets([scopeStr]) | Vrátí klíče ve všech nebo jednom oboru, ve kterém má uživatel oprávnění k zobrazení z tajné služby Databricks. |
luhn_check(numStr) | Vrátí true hodnotu, pokud numStr projde kontrolou algoritmu Luhn. |
monotonically_increasing_id() | Vrátí monotonicky rostoucí 64bitová celá čísla. |
nullif(výraz1, výraz2) | Vrátí NULL , pokud se expr1 rovná expr2 , jinak expr1 . |
nvl(výraz1, výraz2) | Vrátí expr2 , pokud expr1 je NULL , jinak expr1 . |
nvl2(výraz1, výraz2, výraz3) | Vrátí expr2 , pokud expr1 není NULL , jinak vrátí expr3 . |
raise_error(výraz) | Vyvolá výjimku s expr jako zprávu. |
range(end) (rozsah(konec)) | Vrátí tabulku hodnot v zadaném rozsahu. |
range(začátek, konec [, krok [, numParts]]) | Vrátí tabulku hodnot v zadaném rozsahu. |
reflect(třída, metoda[, arg1 [; ...]]) | Volá metodu s reflexí. |
secret(scope, key) | Extrahuje tajnou hodnotu s danou scope a key z tajné služby Databricks. |
session_user() | Vrátí uživatele připojeného k Azure Databricks. |
spark_partition_id() | Vrátí aktuální ID oddílu. |
sql_keywords() | Vrátí sadu klíčových slov SQL v Azure Databricks. |
stack(numRows, výraz1 [, ...]) | Odděluje expr1 , …, exprN do numRows řádků. |
table_changes(table_str; začátek [; konec]) | Vrátí protokol změn v tabulce Delta Lake s povolenou funkcí pro změnový datový přenos. |
try_reflect(třída, metoda[; arg1 [; ...]]) | Volá metodu s reflexí, která NULL vrací, pokud metoda selže. |
try_secret(rozsah, klíč) | Extrahuje hodnotu tajného kódu s danými scope a key z skryté služby Databricks, nebo NULL pokud nelze klíč získat. |
typeof(výraz) | Vrátí řetězec typu ve formátu DDL pro datový typ expr . |
user() | Vrátí uživatele, který příkaz spouští. |
uuid() | Vrátí řetězec univerzálního jedinečného identifikátoru (UUID). |
window(výraz, šířka[, krok [, začátek]]) | Vytvoří přeskakující posuvné okno nad výrazem časového razítka. |
xxhash64(výraz1 [, ...]) | Vrátí 64bitovou hodnotu hash argumentů. |
version() | Vrátí verzi Apache Sparku. |