Inbyggda funktioner (Databricks SQL)

Den här artikeln innehåller länkar till och beskrivningar av inbyggda operatorer och funktioner för strängar och binära typer, numeriska skalärer, sammansättningar, fönster, matriser, kartor, datum och tidsstämplar, gjutning, CSV-data, JSON-data, XPath-manipulering och diverse funktioner.

Se även:

Operatorer och predikat

Information om hur operatorer parsas med avseende på varandra finns i Operatorprioritet.

Operator Syntax Beskrivning
& expr1 & expr2 Returnerar bitvis OCH för expr1 och expr2.
and expr1 and expr2 Returnerar det logiska AND för expr1 och expr2.
* multiplier * multiplicand Returnerar multiplier multiplicerat multiplicandmed .
!= expr1 != expr2 Returnerar sant om expr1 inte är lika med expr2, eller false på annat sätt.
! !expr Returnerar det logiska NOT för ett booleskt uttryck.
mellan expr1 [not] between expr2 and expr2 Testar om expr1 är större eller lika med expr2 och mindre än eller lika med expr3.
[ ] arrayExpr [ indexExpr ] Returnerar indexExprdet andra elementet i ARRAY arrayExpr
[ ] mapExpr [ keyExpr ] Returnerar värdet för keyExpr MAP mapExpr
^ expr1 ^ expr2 Returnerar bitvis exklusivt OR (XOR) för expr1 och expr2.
: jsonStr : jsonPath Returnerar fält som extraherats från jsonStr.
:: expr :: type Omvandlar värdet expr till måldatatypen type.
div divisor div dividend Returnerar den integrerade delen av divisionen av divisor efter dividend.
== expr1 == expr2 Returnerar true om expr1 är expr2lika med , eller false på annat sätt."
= expr1 = expr2 Returnerar true om expr1 är expr2lika med , eller false på annat sätt."
>= expr1 >= expr2 Returnerar true om expr1 är större än eller lika med expr2, eller false på annat sätt.
> expr1 > expr2 Returnerar true om expr1 är större än expr2, eller false på annat sätt.
Finns exists(query) Returnerar sant om query returnerar minst en rad eller falskt på annat sätt.
Ilike str [not] ilike (pattern[ESCAPE escape]) Returnerar true om str matchar pattern skiftlägesokänsligt escape .
Ilike str [not] ilike {ANY|SOME|ALL}([pattern[, ...]]) Returnerar sant om str matchar alla mönster skiftlägesokänsligt.
I elem [not] in (expr1[, ...]) Returnerar true om elem är lika med någon exprN.
I elem [not] in (query) Returnerar true om elem är lika med en rad i query.
är distinkt expr1 is [not] distinct from expr2 Testar om argumenten har olika värden där NULL:er betraktas som jämförbara värden.
är falskt expr is [not] false Testar om expr är false.
är null expr is [not] null Returnerar true om expr är (inte) NULL.
är sant expr is [not] true Testar om expr är true.
som str [not] like (pattern[ESCAPE escape]) Returnerar true om str matchar pattern med escape.
som str [not] like {ANY|SOME|ALL}([pattern[, ...]]) Returnerar sant om str matchar alla mönster.
<=> expr1 <=> expr2 Returnerar samma resultat som EQUAL(=) för icke-null-operander, men returnerar true om båda är NULL, false om en av dem är NULL.
<> expr1 <= expr2 Returnerar true om expr1 inte är lika med expr2, eller false på annat sätt.
<> expr1 <> expr2 Returnerar true om expr1 inte är lika med expr2, eller false på annat sätt.
< expr1 < expr2 Returnerar true om expr1 är mindre än eller lika med expr2, eller false på annat sätt.
- expr1 - expr2 Returnerar subtraktionen för expr2 från expr1.
Inte not expr Returnerar det logiska NOT för ett booleskt uttryck.
% dividend % divisor Returnerar resten efter dividend / divisor.
|| expr1 || expr2 Returnerar sammanfogningen av expr1 och expr2.
| expr1 | expr2 Returnerar bitvis OR för expr1 och expr2.
+ expr1 + expr2 Returnerar summan av expr1 och expr2.
Regexp str [not] regexp regex Returnerar true om str matchar regex.
regexp_like str [not] regexp_like regex Returnerar true om str matchar regex.
rlike str [not] rlike regex Returnerar true om str matchar regex.
/ dividend / divisor Returnerar dividend dividerat med divisor.
~ ~ expr Returnerar bitvis NOT för expr.

Prioritet för operator

Prioritet Operator
1 :, ::, [ ]
2 -(unary), +(unary), ~
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

Sträng- och binärfunktioner

Funktion Beskrivning
expr1 || expr2 Returnerar sammanfogningen av expr1 och expr2.
aes_decrypt(expr, key[, mode[, utfyllnad]]) Dekrypterar en binär expr fil med hjälp av AES-kryptering.
aes_encrypt(expr, key[, mode[, utfyllnad]]) Krypterar en binär fil expr med hjälp av AES-kryptering.
ascii(str) Returnerar ASCII-kodpunkten för det första tecknet i str.
base64(expr) Konverterar expr till en base 64-sträng.
bin(expr) Returnerar den binära representationen av expr.
binary(expr) Omvandlar värdet expr för till BINÄR.
bit_length(expr) Returnerar bitlängden för strängdata eller antalet bitar av binära data.
btrim(str [, trimStr]) Returnerar str med inledande och avslutande tecken borttagna.
char(expr) Returnerar tecknet vid den angivna UTF-16-kodpunkten.
char_length(expr) Returnerar teckenlängden för strängdata eller antalet byte med binära data.
character_length(expr) Returnerar teckenlängden för strängdata eller antalet byte med binära data.
charindex(substr, str[, pos]) Returnerar positionen för den första förekomsten av substr i str efter position pos.
chr(expr) Returnerar tecknet vid den angivna UTF-16-kodpunkten.
concat(expr1, expr2[, ...]) Returnerar sammanlänkningen av argumenten.
concat_ws(sep[, expr1[, ...]]) Returnerar sammanfogningssträngarna avgränsade med sep.
contains(expr, subExpr) Returnerar true om expr STRING eller BINARY innehåller subExpr.
crc32(expr) Returnerar ett cykliskt redundanskontrollvärde på expr.
decode(expr, charSet) Översätter binär expr till en sträng med hjälp av teckenuppsättningens kodning charSet.
encode(expr, charSet) Returnerar den binära representationen av en sträng med hjälp av charSet teckenkodningen.
endswith(expr, endExpr) Returnerar true om expr STRING eller BINARY slutar med endExpr.
find_in_set(searchExpr, sourceExpr) Returnerar positionen för en sträng i en kommaavgränsad lista med strängar.
format_number(expr, scale) expr Format som #,###,###.##, avrundade till scale decimaler.
format_number(expr, fmt) expr Format som fmt.
format_string(strfmt[, obj1 [, ...]]) Returnerar en formaterad sträng från formatsträngar i printf-format.
hex(expr) Konverterar expr till hexadecimal.
str ilike (pattern[ESCAPE escape]) Returnerar sant om str matchar pattern skiftlägesokänsligt escape .
initcap(expr) Returnerar expr med den första bokstaven i varje ord i versaler.
instr(str, substr) Returnerar (1-baserat) index för den första förekomsten av substr i str.
lcase(expr) Returnerar expr med alla tecken ändrade till gemener.
left(str, len) Returnerar de vänstra len tecknen från str.
length(expr) Returnerar teckenlängden för strängdata eller antalet byte med binära data.
levenshtein(str1, str2) Returnerar Levenshtein-avståndet mellan strängarna str1 och str2.
str like (pattern[ESCAPE escape]) Returnerar true om str matchar pattern med escape.
locate(substr, str[, pos]) Returnerar positionen för den första förekomsten av substr i str efter position pos.
lower(expr) Returnerar expr med alla tecken ändrade till gemener.
lpad(expr, len[, pad]) Returnerar expr, vänster vadderat med pad till en längd på len.
ltrim([trimstr,] str) Returnerar str med inledande tecken inom trimStr borttagna.
md5(expr) Returnerar en MD5 128-bitars kontrollsumma för expr som en hexsträng.
octet_length(expr) Returnerar bytelängden för strängdata eller antalet byte med binära data.
overlay(input PLACING replace FROM pos [FOR len]) input Ersätter med replace som börjar vid pos och är av längd len.
parse_url(url, partToExtract[, key]) Extraherar en del från url.
position(substr, str[, pos]) Returnerar positionen för den första förekomsten av substr i str efter position pos.
position(subtr IN str) Returnerar positionen för den första förekomsten av substr i str efter position pos.
printf(strfmt[, obj1 [, ...]]) Returnerar en formaterad sträng från formatsträngar i printf-format.
str regexp regex Returnerar true om str matchar regex.
str regexp_like regex Returnerar true om str matchar regex.
regexp_extract(str, regexp[, idx]) Extraherar den första strängen regexp i str som matchar uttrycket och motsvarar regex gruppindexet.
regexp_extract_all(str, regexp[, idx]) Extraherar alla strängar i str som matchar regexp uttrycket och motsvarar regex gruppindexet.
regexp_replace(str, regexp, rep[, position]) Ersätter alla delsträngar i str den matchningen regexp med rep.
repeat(expr, n) Returnerar strängen som upprepar exprn gånger.
replace(str, search [, replace]) Ersätter alla förekomster av search med replace.
reverse(expr) Returnerar en omvänd sträng eller en matris med omvänd ordning på element.
right(str, len) Returnerar de högra len tecknen från strängen str.
str rlike regex Returnerar true om str matchar regex.
rpad(expr, len[, pad]) Returnerar expr, höger vadderad med pad till en längd på len.
rtrim([trimStr,] str) Returnerar str med avslutande tecken borttagna.
sentences(str[, lang, country]) str Delas upp i en matris med ord.
sha(expr) Returnerar ett sha1-hashvärde som en hexsträng av expr.
sha1(expr) Returnerar ett sha1-hashvärde som en hexsträng av expr.
sha2(expr, bitLength) Returnerar en kontrollsumma för SHA-2-familjen som en hexsträng av expr.
soundex(expr) Returnerar ljudexkoden för strängen.
space(n) Returnerar en sträng som består av n blanksteg.
split(str, regex[, limit]) str Delar runt förekomster som matchar regex och returnerar en matris med en längd på högst limit.
split_part(str, delim, partNum) str Delar runt förekomster av delim och returnerar partNum delen.
startswith(expr, startExpr) Returnerar true om expr STRING eller BINARY börjar med startExpr.
string(expr) Omvandlar värdet expr till STRING.
substr(expr, pos[, len]) Returnerar delsträngen för expr som börjar vid pos och är av längd len.
substr(expr FROM pos[ FOR len]) Returnerar delsträngen för expr som börjar vid pos och är av längd len.
substring(expr, pos[, len]) Returnerar delsträngen för expr som börjar vid pos och är av längd len.
substring(expr FROM pos[ FOR len]) Returnerar delsträngen för expr som börjar vid pos och är av längd len.
substring_index(expr, delim, count) Returnerar delsträngen för expr före count förekomster av avgränsare delim.
translate(expr, from, to) Returnerar en expr plats där alla tecken i from har ersatts med dem i to.
trim([[BÅDA | LEDANDE | AVSLUTANDE] [trimStr] FRÅN] str) Trimma tecken från en sträng.
ucase(expr) Returnerar expr med alla tecken som har ändrats till versaler.
unbase64(expr) Returnerar en avkodad base64-sträng som binär.
unhex(expr) Konverterar hexadecimal expr till BINÄR.
upper(expr) Returnerar expr med alla tecken som har ändrats till versaler.

Numeriska skalärfunktioner

Funktion Beskrivning
~ expr Returnerar bitvis NOT för expr.
utdelning/divisor Returnerar dividend dividerat med divisor.
expr1 | expr2 Returnerar bitvis OR för expr1 och expr2.
- uttr Returnerar det negerade värdet för expr.
expr1 - expr2 Returnerar subtraktionen för expr2 från expr1.
+ uttr Returnerar värdet exprför .
expr1 + expr2 Returnerar summan av expr1 och expr2.
utdelning % divisor Returnerar resten efter dividend / divisor.
expr1 ^ expr2 Returnerar bitvis exklusivt OR (XOR) för expr1 och expr2.
expr1 & expr2 Returnerar bitvis OCH för expr1 och expr2.
multiplikator * multiplicand Returnerar multiplier multiplicerat multiplicandmed .
abs(expr) Returnerar det absoluta värdet för det numeriska värdet i expr.
acos(expr) Returnerar invertera cosinus (arccosinus) för expr.
acosh(expr) Returnerar den invertera hyperboliska cosinin för expr.
asin(expr) Returnerar invertera sinus (arcsinus) för expr.
asinh(expr) Returnerar den invertera hyperboliska sinus för expr.
atan(expr) Returnerar inverterad tangens (arctangens) för expr.
atan2(exprY, exprX) Returnerar vinkeln i radianer mellan den positiva x-axeln för ett plan och den punkt som anges av koordinaterna (exprX, exprY).
atanh(expr) Returnerar invertera hyperbolisk tangens för expr.
bigint(expr) Omvandlar värdet expr till BIGINT.
bit_count(expr) Returnerar antalet bitar som angetts i argumentet.
bit_get(expr, pos) Returnerar värdet för lite i en binär representation av ett heltalsnumeriskt värde.
bit_reverse(expr) Returnerar det värde som erhålls genom att ändra ordningen på bitarna i argumentet.
bround(expr[,targetScale]) Returnerar avrundat expr med avrundningsläge HALF_EVEN .
cbrt(expr) Returnerar kubroten för expr.
ceil(expr[,targetScale]) Returnerar det minsta talet som inte är mindre än expr avrundat upp till targetScale siffror i förhållande till decimaltecknet.
ceiling(expr[,targetScale]) Returnerar det minsta talet som inte är mindre än expr avrundat upp till targetScale siffror i förhållande till decimaltecknet.
conv(num, fromBase, toBase) Konverterar num från fromBase till toBase.
cos(expr) Returnerar cosinus för expr.
cosh(expr) Returnerar hyperboliskt cosinus för expr.
cot(expr) Returnerar cotangens exprför .
csc(expr) Returnerar cosecant för expr.
decimal(expr) Omvandlar värdet expr till DECIMAL.
degrees(expr) Konverterar radianer till grader.
divisor div dividend Returnerar den integrerade delen av divisionen av divisor efter dividend.
double(expr) Omvandlar värdet expr till DOUBLE.
e() Returnerar konstanten e.
exp(expr) Återgår e till kraften expri .
expm1(expr) Returnerar exp(expr) - 1.
factorial(expr) Returnerar faktorn exprför .
float(expr) Omvandlar värdet expr till FLOAT.
floor(expr[,targetScale]) Returnerar det största talet som inte är mindre än expr avrundat nedåt till targetScale siffror i förhållande till decimaltecknet.
getbit(expr, pos) Returnerar värdet för lite i en binär representation av ett heltalsnumeriskt värde.
hypot(expr1, expr2) Returnerar sqrt(expr1 * expr1 + expr2 * expr2).
int(expr) Omvandlar värdet expr till INTEGER.
isnan(expr) Returnerar true om expr är NaN.
ln(expr) Returnerar den naturliga logaritmen (bas e) för expr.
log([base,] expr) Returnerar logaritmen expr för med base.
log1p(expr) Returnerar log(1 + expr).
log2(expr) Returnerar logaritmen expr för med bas 2.
log10(expr) Returnerar logaritmen expr för med bas 10.
mod(dividend, divisor) Returnerar resten efter dividend / divisor.
nanvl(expr1, expr2) Returnerar expr1 om det inte NaNär , eller expr2 på annat sätt.
negative(expr) Returnerar det negerade värdet för expr.
pi() Returnerar pi.
pmod(dividend, divisor) Returnerar den positiva resten efter dividend / divisor.
positive(expr) Returnerar värdet exprför .
pow(expr1, expr2) Höjer expr1 till kraften i expr2.
power(expr1, expr2) Höjer expr1 till kraften i expr2.
radians(expr) Konverterar expr i grader till radianer.
rand([seed]) Returnerar ett slumpmässigt värde mellan 0 och 1.
randn([seed]) Returnerar ett slumpmässigt värde från en normal standardfördelning.
random([seed]) Returnerar ett slumpmässigt värde mellan 0 och 1.
rint(expr) Returnerar expr avrundat till ett heltal som en DOUBLE.
round(expr[,targetScale]) Returnerar avrundat expr med avrundningsläge HALF_UP .
sec(expr) Returnerar secanten för expr.
sin(expr) Returnerar sinus för expr.
shiftleft(expr, n) Returnerar en bitvis vänster skiftad bitvis n .
shiftright(expr, n) Returnerar ett bitvis signerat signerat heltal höger skiftat med n bitar.
shiftrightunsigned(expr, n) Returnerar ett bitvis osignerat signerat heltal höger skiftat med n bitar.
sign(expr) Returnerar -1,0, 0,0 eller 1,0 som expr är negativt, 0 eller positivt.
signum(expr) Returnerar -1,0, 0,0 eller 1,0 som expr är negativt, 0 eller positivt.
sinh(expr) Returnerar hyperboliskt sinus för expr.
smallint(expr) Omvandlar värdet expr till SMALLINT.
sqrt(expr) Returnerar roten av expr.
tan(expr) Returnerar tangens för expr.
tanh(expr) Returnerar den hyperboliska tangensen för expr.
tinyint(expr) expr Kastar till TINYINT.
to_number(expr, fmt ) Returnerar omvandlas expr till DECIMAL med hjälp av formatering fmt.
try_add(expr1, expr2) Returnerar summan av expr1 och expr2, eller NULL vid fel.
try_divide(utdelning, divisor) Returnerar dividend dividerat med divisor, eller NULL om divisor är 0.
try_multiply(multiplikator, multiplicand) Returnerar multiplier multiplicerat multiplicandmed , eller NULL vid spill.
try_subtract(expr1, expr2) Returnerar subtraktionen för expr2 från expr1, eller NULL vid spill.
try_to_number(expr, fmt ) Returnerar omvandlas expr till DECIMAL med hjälp av formatering fmt, eller NULL om expr inte matchar formatet.

Mängdfunktioner

Funktion Beskrivning
any(expr) Returnerar sant om minst ett värde expr för i gruppen är sant.
approx_count_distinct(expr[,relativeSD]) Returnerar det uppskattade antalet distinkta värden i expr gruppen.
approx_percentile(expr,percentage[,accuracy]) Returnerar den ungefärliga percentilen för expr i gruppen.
approx_top_k(expr[,k[,maxItemsTracked]]) Returnerar de vanligaste k objektvärdena i en expr tillsammans med deras ungefärliga antal.
array_agg(uttr) Returnerar en matris som består av alla värden i expr gruppen.
avg(expr) Returnerar medelvärdet som beräknas från värden för en grupp.
bit_and(uttr) Returnerar bitvis AND för alla indatavärden i gruppen.
bit_or(uttr) Returnerar bitvis OR för alla indatavärden i gruppen.
bit_xor(uttr) Returnerar bitvis XOR för alla indatavärden i gruppen.
bool_and(uttr) Returnerar sant om alla värden i expr är sanna i gruppen.
bool_or(uttr) Returnerar sant om minst ett värde i expr är sant i gruppen.
collect_list(uttr) Returnerar en matris som består av alla värden i expr gruppen.
collect_set(uttr) Returnerar en matris som består av alla unika värden i expr gruppen.
corr(expr1,expr2) Returnerar Pearson-koefficienten för korrelation mellan en grupp med talpar.
count(*) Returnerar det totala antalet hämtade rader i en grupp, inklusive rader som innehåller null.
count(expr[, ...]) Returnerar antalet rader i en grupp där de angivna uttrycken inte är null.
count_if(uttr) Returnerar antalet sanna värden för gruppen i expr.
count_min_sketch(expr, epsilon, konfidens, frö) Returnerar en antal-min-skiss över alla värden i gruppen i expr med epsilon, confidence och seed.
covar_pop(expr1,expr2) Returnerar populationens kovarians för talpar i en grupp.
covar_samp(expr1,expr2) Returnerar exempelkovariansen för talpar i en grupp.
every(expr) Returnerar sant om alla värden expr i gruppen är sanna.
first(expr[,ignoreNull]) Returnerar det första värdet expr för för en grupp rader.
first_value(expr[,ignoreNull]) Returnerar det första värdet expr för för en grupp rader.
kurtosis(expr) Returnerar det kurtosis-värde som beräknas från värden för en grupp.
last(expr[,ignoreNull]) Returnerar det sista värdet expr för för gruppen med rader.
last_value(expr[,ignoreNull]) Returnerar det sista värdet expr för för gruppen med rader.
max(expr) Returnerar maxvärdet expr för i en grupp.
max_by(expr1,expr2) Returnerar värdet för ett expr1 som är associerat med det maximala värdet expr2 för i en grupp.
mean(expr) Returnerar medelvärdet som beräknas från värden för en grupp.
min(expr) Returnerar minimivärdet expr för i en grupp.
min_by(expr1, expr2) Returnerar värdet för ett expr1 som är associerat med minimivärdet expr2 för i en grupp.
percentile(expr, percentage [,frequency]) Returnerar det exakta percentilvärdet expr för vid angivet percentage.
percentile_approx(expr,percentage[,accuracy]) Returnerar den ungefärliga percentilen för expr i gruppen.
percentile_cont(pct) INOM GRUPP (ORDER BY-nyckel) Returnerar den interpolerade percentilen i key gruppen.
percentile_disc(pct) INOM GRUPP (ORDER BY-nyckel) Returnerar den diskreta percentilen i key gruppen.
regr_avgx(yExpr, xExpr) Returnerar medelvärdet av xExpr beräknat från värden i en grupp där xExpr och yExpr inte är NULL.
regr_avgy(yExpr, xExpr) Returnerar medelvärdet av yExpr beräknat från värden i en grupp där xExpr och yExpr inte är NULL.
regr_count(yExpr, xExpr) Returnerar antalet icke-null-värdepar yExprxExpr i gruppen.
regr_r2(yExpr, xExpr) Returnerar bestämningskoefficienten från värden för en grupp där xExpr och yExpr inte är NULL.
regr_sxx(yExpr, xExpr) Returnerar summan av kvadraterna för värdena i xExpr en grupp där xExpr och yExpr inte är NULL.
regr_sxy(yExpr, xExpr) Returnerar summan av produkter för yExpr och xExpr beräknas från värden för en grupp där xExpr och yExpr inte är NULL.
regr_syy(yExpr, xExpr) Returnerar summan av kvadraterna för värdena i yExpr en grupp där xExpr och yExpr inte är NULL.
snedställning (expr) Returnerar det skevhetsvärde som beräknas från värden för en grupp.
some(expr) Returnerar sant om minst ett värde expr i en grupp är true.
std(expr) Returnerar standardavvikelsen för exemplet som beräknas från värdena i gruppen.
stddev(expr) Returnerar standardavvikelsen för exemplet som beräknas från värdena i gruppen.
stddev_pop(expr) Returnerar populationens standardavvikelse beräknad från värden för en grupp.
stddev_samp(expr) Returnerar standardavvikelsen för exemplet som beräknas från värden för en grupp.
sum(expr) Returnerar summan som beräknas från värden för en grupp.
try_avg(expr) Returnerar medelvärdet som beräknas från värdena i en grupp, NULL om det finns ett spill.
try_sum(expr) Returnerar summan som beräknas från värden för en grupp, NULL om det finns ett spill.
var_pop(expr) Returnerar populationsvariansen som beräknas från värden för en grupp.
var_samp(expr) Returnerar exempelvariansen som beräknas från värden för en grupp.
varians(expr) Returnerar exempelvariansen som beräknas från värden för en grupp.

Funktioner för rangordningsfönster

Funktion Beskrivning
dense_rank() Returnerar rangordningen för ett värde jämfört med alla värden i partitionen.
ntile(n) Delar upp raderna för varje fönsterpartition i n bucketar från 1 till högst n.
percent_rank() Beräknar den procentuella rangordningen för ett värde i partitionen.
rank() Returnerar rangordningen för ett värde jämfört med alla värden i partitionen.
row_number() Tilldelar ett unikt, sekventiellt nummer till varje rad, från och med en, enligt ordningen på rader i fönsterpartitionen.

Analysfönsterfunktioner

Funktion Beskrivning
cume_dist() Returnerar positionen för ett värde i förhållande till alla värden i partitionen.
lag(expr[,offset[,default]]) Returnerar värdet expr för från en föregående rad i partitionen.
lead(expr[,offset[,default]]) Returnerar värdet expr för från en efterföljande rad i partitionen.
nth_value(expr, offset[, ignoreNulls]) Returnerar värdet expr för vid en specifik offset i fönstret.

Matrisfunktioner

Funktion Beskrivning
arrayExpr[indexExpr] Returnerar elementet vid positionen indexExpr för ARRAY arrayExpr.
aggregate(expr,start,merge[,finish]) Aggregerar element i en matris med hjälp av en anpassad aggregator.
array([expr [, ...]]) Returnerar en matris med elementen i expr.
array_contains(matris,värde) Returnerar sant om array innehåller value.
array_distinct(matris) Tar bort dubblettvärden från array.
array_except(matris1,matris2) Returnerar en matris med elementen i array1 men inte i array2.
array_intersect(matris1,matris2) Returnerar en matris med elementen i skärningspunkten för array1 och array2.
array_join(array,delimiter[,nullReplacement]) Sammanfogar elementen arrayi .
array_max(matris) Returnerar det maximala värdet i array.
array_min(matris) Returnerar minimivärdet i array.
array_position(matris,element) Returnerar positionen för den första förekomsten av element i array.
array_remove(matris,element) Tar bort alla förekomster av element från array.
array_repeat(element,antal) Returnerar en matris som innehåller elementcount tider.
array_size(matris) Returnerar antalet element i array.
array_sort(matris,func) Returnerar array sorterade enligt func.
array_union(matris1,matris2) Returnerar en matris med elementen i unionen av array1 och array2 utan dubbletter.
arrays_overlap(matris1, matris2) Returnerar sant om skärningspunkten för array1 och array2 inte är tom.
arrays_zip(array1 [, ...]) Returnerar en sammanslagen matris med structs där nth struct innehåller alla Nth-värden för indatamatriser.
cardinality(expr) Returnerar storleken på expr.
concat(expr1, expr2 [, ...]) Returnerar sammanlänkningen av argumenten.
element_at(arrayExpr, index) Returnerar elementet i ett arrayExprindex.
exists(expr, pred) Returnerar sant om pred är sant för ett element i expr.
explode(expr) Returnerar rader genom att avkapsla expr.
explode_outer(expr) Returnerar rader genom att ta bort kapsling expr med hjälp av yttre semantik.
filter(expr,func) Filtrerar matrisen i expr med hjälp av funktionen func.
flatten(arrayOfArrays) Omvandlar en matris med matriser till en enda matris.
forall(expr, predFunc) Testar om predFunc rymmer för alla element i matrisen.
infogad (expr) Exploderar en matris med structs i en tabell.
inline_outer(expr) Exploderar en matris med structs i en tabell med yttre semantik.
posexplode(expr) Returnerar rader genom att avkapsla matrisen med numrering av positioner.
posexplode_outer(expr) Returnerar rader genom att avkapsla matrisen med numrering av positioner med hjälp OUTER av semantik.
reduce(expr,start,merge[,finish]) Aggregerar element i en matris med hjälp av en anpassad aggregator.
reverse(array) Returnerar en omvänd sträng eller en matris med omvänd ordning på element.
sequence(start,stop,step) Genererar en matris med element från start till stop (inklusive), som ökar med step.
shuffle(array) Returnerar en slumpmässig permutation av matrisen i expr.
size(expr) Returnerar kardinaliteten för expr.
slice(expr,start,length) Returnerar en delmängd av en matris.
sort_array(expr[,ascendingOrder]) Returnerar matrisen i expr sorterad ordning.
transform(expr, func) Transformerar element i en matris med expr hjälp av funktionen func.
try_element_at(arrayExpr, index) Returnerar elementet i ett arrayExprindex, eller NULL om index är utanför gränsen.
zip_with(expr1, expr2, func) Sammanfogar matriserna i expr1 och expr2, elementmässigt, till en enda matris med .func

Kartfunktioner

Funktion Beskrivning
mapExpr[keyExpr] Returnerar värdet för keyExpr MAP mapExpr.
cardinality(expr) Returnerar storleken på expr.
element_at(mapExpr, nyckel) Returnerar värdet mapExpr för för key.
explode(expr) Returnerar rader genom att avkapsla expr.
explode_outer(expr) Returnerar rader genom att ta bort kapsling expr med hjälp av yttre semantik.
map([{key1, value1}[, ...]]) Skapar en karta med de angivna nyckel/värde-paren.
map_concat([expr1 [, ...]]) Returnerar unionen för alla expr kartuttryck.
map_contains_key(karta, nyckel) Returnerar true om map innehåller key, false annars.
map_entries(map) Returnerar en osorterad matris med alla poster i map.
map_filter(expr, func) Filtrerar poster på kartan i expr med hjälp av funktionen func.
map_from_arrays(nycklar, värden) Skapar en karta med ett par av matriserna keys och values .
map_from_entries(expr) Skapar en karta som skapats från den angivna matrisen med poster.
map_keys(karta) Returnerar en osorterad matris som innehåller nycklarna mapför .
map_values(karta) Returnerar en osorterad matris som innehåller värdena mapför .
map_zip_with(map1, map2, func) Sammanfogar map1 och map2 till en enda karta.
size(expr) Returnerar kardinaliteten för expr.
transform_keys(expr, func) Transformerar nycklar i en karta i expr med hjälp av funktionen func.
transform_values(expr, func) Transformerar värden i en karta med expr hjälp av funktionen func.
try_element_at(mapExpr, nyckel) Returnerar värdet mapExpr för för key, eller NULL om key det inte finns.

Funktioner för datum, tidsstämpel och intervall

Information om datum- och tidsstämpelformat finns i Datetime-mönster (Databricks SQL).

Funktion Beskrivning
intervalExpr/divisor Returnerar intervall dividerat med divisor.
- intervalExpr Returnerar det negerade värdet för intervalExpr.
intervalExpr1 – intervalExpr2 Returnerar subtraktionen för intervalExpr2 från intervalExpr1.
datetimeExpr1 – datetimeExpr2 Returnerar subtraktionen för datetimeExpr2 från datetimeExpr1.
+ intervalExpr Returnerar värdet intervalExprför .
intervalExpr1 + intervalExpr2 Returnerar summan av intervalExpr1 och intervalExpr2.
intervalExpr * multiplicand Returnerar intervalExpr multiplicerat multiplicandmed .
abs(expr) Returnerar det absoluta värdet för intervallvärdet i expr.
add_months(startDate,numMonths) Returnerar det datum som är numMonths efter startDate.
current_date() Returnerar aktuellt datum i början av frågeutvärderingen.
current_timestamp() Returnerar den aktuella tidsstämpeln i början av frågeutvärderingen.
current_timezone() Returnerar den aktuella sessionslokala tidszonen.
date(expr) Omvandlar värdet expr till DATE.
date_add(startDate,numDays) Returnerar datumet numDays efter startDate.
date_format(expr,fmt) Konverterar en tidsstämpel till en sträng i formatet fmt.
date_from_unix_date(dagar) Skapar ett datum från antalet dagar sedan 1970-01-01.
date_part(field,expr) Extraherar en del av datum, tidsstämpel eller intervall.
date_sub(startDate,numDays) Returnerar datumet numDays före startDate.
date_trunc(field,expr) Returnerar tidsstämpel trunkerad till den enhet som anges i field.
dateadd(unit, value, expr) Lägger till valueunits i en tidsstämpel expr.
datediff(endDate,startDate) Returnerar antalet dagar från startDate till endDate.
datediff(unit, start, stop) Returnerar skillnaden mellan två tidsstämplar mätta i units.
day(expr) Returnerar dagen i månaden för datumet eller tidsstämpeln.
dayofmonth(expr) Returnerar dagen i månaden för datumet eller tidsstämpeln.
dayofweek(expr) Returnerar veckodagen för datumet eller tidsstämpeln.
dayofyear(expr) Returnerar dagen på året för datumet eller tidsstämpeln.
divisor div dividend Returnerar den integrerade delen av intervallets divisor division efter intervall dividend.
extract(field FROM source) Returnerar field för source.
from_unixtime(unixTime,fmt) Returnerar unixTime i fmt.
from_utc_timestamp(expr,tidszon) Returnerar en tidsstämpel i expr angiven i UTC i tidszonen timeZone.
hour(expr) Returnerar timkomponenten för en tidsstämpel.
last_day(expr) Returnerar den sista dagen i månaden som datumet tillhör.
make_date(år,månad,dag) Skapar ett datum från yearfälten , monthoch day .
make_dt_interval([days[, hours[, mins[, secs]]]]) Skapar ett dagsintervall från days, hoursmins och secs.
make_interval(år, månader, veckor, dagar, timmar, minuter, sek) Inaktuell: Skapar ett intervall från , , , , , hoursmins och secs. daysweeksmonthsyears
make_timestamp(år,månad,dag,timme,min,sek[,tidszon]) Skapar en tidsstämpel från yearfälten , month, day, hourmin, , secoch timezone .
make_ym_interval([years[, months]]) Skapar ett årsmånadsintervall från years, och months.
minute(expr) Returnerar minutkomponenten för tidsstämpeln i expr.
month(expr) Returnerar månadskomponenten för tidsstämpeln i expr.
months_between(expr1,expr2[,roundOff]) Returnerar antalet månader som förflutit mellan datum eller tidsstämplar i expr1 och expr2.
next_day(expr,dayOfWeek) Returnerar det första datumet som är senare än expr och heter som i dayOfWeek.
now() Returnerar den aktuella tidsstämpeln i början av frågeutvärderingen.
quarter(expr) Returnerar årets kvartal för expr i intervallet 1 till 4.
second(expr) Returnerar den andra komponenten i tidsstämpeln i expr.
sign(expr) Returnerar -1,0, 0,0 eller 1,0 eftersom intervallet expr är negativt, 0 eller positivt.
signum(expr) Returnerar -1,0, 0,0 eller 1,0 eftersom intervallet expr är negativt, 0 eller positivt.
timestamp(expr) expr Kastar till TIMESTAMP.
timestamp_micros(expr) Skapar en tidsstämpel expr för mikrosekunder sedan UTC-epoken.
timestamp_millis(expr) Skapar en tidsstämpel expr millisekunder sedan UTC-epoken.
timestamp_seconds(expr) Skapar tidsstämpel expr sekunder sedan UTC-epoken.
timestampadd(unit, value, expr) Lägger till valueunits i en tidsstämpel expr.
timestampdiff(unit, start, stop) Returnerar skillnaden mellan två tidsstämplar mätta i units.
to_date(expr[,fmt]) Returnerar expr gjutning till ett datum med valfri formatering.
to_timestamp(expr[,fmt]) Returnerar expr gjuten till en tidsstämpel med en valfri formatering.
to_unix_timestamp(expr[,fmt]) Returnerar tidsstämpeln i expr som en UNIX-tidsstämpel.
to_utc_timestamp(expr,tidszon) Returnerar tidsstämpeln i expr i en annan tidszon som UTC.
trunc(expr, fmt) Returnerar ett datum med en del av datumet trunkerat till den enhet som anges av formatmodellen fmt.
try_add(expr1, expr2) Returnerar summan av expr1 och expr2, eller NULL vid fel.
try_divide(utdelning, divisor) Returnerar dividend dividerat med divisor, eller NULL om divisor är 0.
try_multiply(multiplikator, multiplicand) Returnerar multiplier multiplicerat multiplicandmed , eller NULL vid spill.
try_subtract(expr1, expr2) Returnerar subtraktionen för expr2 från expr1, eller NULL vid spill.
unix_date(expr) Returnerar antalet dagar sedan 1970-01-01.
unix_micros(expr) Returnerar antalet mikrosekunder sedan 1970-01-01 00:00:00 UTC.
unix_millis(expr) Returnerar antalet millisekunder sedan 1970-01-01 00:00:00 UTC.
unix_seconds(expr) Returnerar antalet sekunder sedan 1970-01-01 00:00:00 UTC.
unix_timestamp([expr[, fmt]]) eturnerAR UNIX-tidsstämpeln för aktuell eller angiven tid.
weekday(expr) Returnerar veckodagen exprför .
weekofyear(expr) Returnerar veckan för året exprför .
year(expr) Returnerar årskomponenten för expr.
window(expr, width[, step[, start]]) Skapar ett hoppande baserat skjutfönster över ett tidsstämpeluttryck.

Cast-funktioner och konstruktorer

Information om gjutning mellan typer finns i Cast-funktionen (Databricks SQL) och funktionen try_cast (Databricks SQL).

Funktion Beskrivning
array([expr [, ...]]) Returnerar en matris med elementen i expr.
bigint(expr) Omvandlar värdet expr till BIGINT.
binary(expr) Omvandlar värdet expr för till BINÄR.
boolean(expr) expr Kastar till booleskt.
cast(expr AS-typ) Omvandlar värdet expr till måldatatypen type.
expr :: type Omvandlar värdet expr till måldatatypen type.
date(expr) Omvandlar värdet expr till DATE.
decimal(expr) Omvandlar värdet expr till DECIMAL.
double(expr) Omvandlar värdet expr till DOUBLE.
float(expr) Omvandlar värdet expr till FLOAT.
int(expr) Omvandlar värdet expr till INTEGER.
make_date(år,månad,dag) Skapar ett datum från yearfälten , monthoch day .
make_dt_interval([days[, hours[, mins[, secs]]]]) Skapar ett dagsintervall från days, hoursmins och secs.
make_interval(år, månader, veckor, dagar, timmar, minuter, sek) Skapar ett intervall från years, months, weeks, days, hoursmins och secs.
make_timestamp(år,månad,dag,timme,min,sek[,tidszon]) Skapar en tidsstämpel från yearfälten , month, day, hourmin, , secoch timezone .
make_ym_interval([years[, months]]) Skapar ett årsmånadsintervall från years, och months.
map([{key1, value1} [, ...]]) Skapar en karta med de angivna nyckel/värde-paren.
named_struct({name1, val1} [, ...]) Skapar en struct med angivna fältnamn och värden.
smallint(expr) Omvandlar värdet expr till SMALLINT.
string(expr) Omvandlar värdet expr till STRING.
struct(expr1 [, ...]) Skapar en STRUCT med angivna fältvärden.
tinyint(expr) expr Kastar till TINYINT.
timestamp(expr) expr Kastar till TIMESTAMP.
to_number(expr, fmt) Returnerar expr gjutning till DECIMAL med hjälp av formatering fmt.
try_cast(expr AS-typ) Omvandlar värdet expr till måldatatypen type på ett säkert sätt.
try_to_number(expr, fmt) Returnerar expr gjutning till DECIMAL med formatering fmt, eller NULL om expr inte är giltigt.

CSV-funktioner

Funktion Beskrivning
from_csv(csvStr, schema[, options]) Returnerar ett struct-värde med csvStr och schema.
schema_of_csv(csv[, options]) Returnerar schemat för en CSV-sträng i DDL-format.
to_csv(expr[, options]) Returnerar en CSV-sträng med det angivna structvärdet.

JSON-funktioner

Funktion Beskrivning
jsonStr: jsonPath Returnerar fält som extraherats från jsonStr.
from_json(jsonStr, schema[, alternativ]) Returnerar ett struct-värde med jsonStr och schema.
get_json_object(uttr, sökväg) Extraherar ett JSON-objekt från path.
json_array_length(jsonArray) Returnerar antalet element i den yttersta JSON-matrisen.
json_object_keys(jsonObject) Returnerar alla nycklar för det yttersta JSON-objektet som en matris.
json_tuple(jsonStr, path1 [, ...]) Returnerar flera JSON-objekt som en tuppeln.
schema_of_json(json[, options]) Returnerar schemat för en JSON-sträng i DDL-format.
to_json(expr[, options]) Returnerar en JSON-sträng med den struct som anges i expr.

XPath-funktioner

Funktion Beskrivning
xpath(xml, xpath) Returnerar värden inom noderna xml för den matchningen xpath.
xpath_boolean(xml, xpath) Returnerar true om uttrycket xpath utvärderas till trueeller om en matchande nod i xml hittas.
xpath_double(xml, xpath) Returnerar ett DOUBLE-värde från ett XML-dokument.
xpath_float(xml, xpath) Returnerar ett FLOAT-värde från ett XML-dokument.
xpath_int(xml, xpath) Returnerar ett INTEGER-värde från ett XML-dokument.
xpath_long(xml, xpath) Returnerar ett BIGINT-värde från ett XML-dokument.
xpath_number(xml, xpath) Returnerar ett DOUBLE-värde från ett XML-dokument.
xpath_short(xml, xpath) Returnerar ett SHORT-värde från ett XML-dokument.
xpath_string(xml, xpath) Returnerar innehållet i den första XML-noden som matchar XPath-uttrycket.

Diverse funktioner

Funktion Beskrivning
assert_true(expr) Returnerar ett fel om expr det inte är sant.
CASE expr { WHEN opt1 RES1 } [...] [ELSE def] Slutet Returnerar resN för den första optN som är expr lika med eller def om ingen matchar.
CASE { WHEN cond1 RES1 } [...] [ELSE def] Slutet Returnerar resN för den första condN som utvärderas till true eller def om ingen hittas.
coalesce(expr1, expr2 [, ...]) Returnerar det första argumentet som inte är null.
kub (expr1 [, ...]) Skapar en flerdimensionell kub med de angivna uttryckskolumnerna.
current_catalog() Returnerar den aktuella katalogen.
current_database() Returnerar det aktuella schemat.
current_schema() Returnerar det aktuella schemat.
current_user() Returnerar den aktuella användaren.
current_version() Returnerar den aktuella versionen av Databricks SQL.
decode(expr, { key, value } [, ...] [,defValue]) Returnerar värdet som matchar nyckeln.
elt(index, expr1 [, ...] ) Returnerar det n:e uttrycket.
greatest(expr1 [, ...]) Returnerar det största värdet för alla argument och hoppar över null-värden.
grouping(col) Anger om en angiven kolumn i , GROUPING SETROLLUPeller CUBE representerar en delsumma.
grouping_id([col1 [, ...]]) Returnerar grupperingsnivån för en uppsättning kolumner.
hash(expr1 [, ...]) Returnerar ett hashvärde för argumenten.
if(cond, expr1, expr2) Returnerar expr1 om cond är true, eller expr2 på annat sätt.
iff(cond, expr1, expr2) Returnerar expr1 om cond är true, eller expr2 på annat sätt.
ifnull(expr1, expr2) Returnerar expr2 om expr1 är NULL, eller expr1 på annat sätt.
input_file_block_length() Returnerar längden i byte för det block som läss.
input_file_block_start() Returnerar startförskjutningen i byte av det block som läss.
input_file_name() Returnerar namnet på filen som läs- eller tom sträng om den inte är tillgänglig.
is_member(grupp) Returnerar sant om den aktuella användaren är medlem i gruppen.
isnull(expr) Returnerar true om expr är NULL.
isnotnull(expr) Returnerar true om expr inte NULLär .
least(expr1 [, ...]) Returnerar det minsta värdet för alla argument och hoppar över null-värden.
monotonically_increasing_id() Returnerar monotont ökande 64-bitars heltal.
nullif(expr1, expr2) Returnerar NULL om expr1 är expr2lika med , eller expr1 på annat sätt.
nvl(expr1, expr2) Returnerar expr2 om expr1 är NULL, eller expr1 på annat sätt.
nvl2(expr1, expr2, expr3) Returnerar expr2 om expr1 inte NULLär , eller expr3 på annat sätt.
raise_error(expr) Utlöser ett undantag med expr som meddelande.
range(end) Returnerar en tabell med värden inom ett angivet intervall.
range(start, end [, step [, numParts]]) Returnerar en tabell med värden inom ett angivet intervall.
spark_partition_id() Returnerar aktuellt partitions-ID.
stack(numRows, expr1 [, ...]) Separerar expr1, ..., exprN i numRows rader.
uuid() Returnerar en UUID-sträng (universally unique identifier).
window(expr, width[, step [, start]]) Skapar ett hoppande baserat skjutfönster över ett tidsstämpeluttryck.
xxhash64(expr1 [, ...]) Returnerar ett 64-bitars hashvärde för argumenten.
version() Returnerar Apache Spark-versionen.