Поделиться через


Встроенные функции

Применяется к:отмечено галочкой: да Databricks SQL отмечено галочкой: да Databricks Runtime

В этой статье представлены ссылки на встроенные операторы и функции для строк и двоичных типов, для числовых скаляров, агрегаций, окон, массивов, словарей, дат и меток времени, приведения, данных CSV, данных JSON, манипуляций XPath и другие функции.

Для вариантов использования, которые не поддерживаются существующими встроенными функциями, рекомендуется определить пользовательскую функцию. См. раздел "Что такое пользовательские функции?".

См. также:

Операторы и предикаты

Сведения о том, как операторы имеют приоритеты относительно друг друга, см. в разделе "Приоритет операторов".

Оператор Синтаксис Описание
& expr1 & expr2 Возвращает побитовое значение AND для expr1 и expr2.
и expr1 and expr2 Возвращает логическое значение AND от expr1 и expr2.
* multiplier * multiplicand Возвращает значение multiplier, умноженное на multiplicand.
!= expr1 != expr2 Возвращает значение true, если expr1 не равно expr2. В противном случае возвращает false.
! !expr Возвращает логическое значение NOT для логического выражения.
между expr1 [not] between expr2 and expr2 Проверяет, что значение expr1 больше или равно expr2 и меньше или равно expr3.
[] arrayExpr [ indexExpr ] Возвращает второй элемент indexExprARRAY.
[] mapExpr [ keyExpr ] Возвращает значение по keyExpr элементам MAPmapExpr.
^ expr1 ^ expr2 Возвращает побитовое исключающее OR (XOR) значений expr1 и expr2.
: jsonStr : jsonPath Возвращает поля, извлеченные из jsonStr.
:: expr :: type Приводит значение expr к типу данных type.
?:: expr ?:: type Преобразует значение expr в целевой тип данных type при возможности и возвращает NULL, если это невозможно.
div dividend div divisor Возвращает целую часть деления dividend на divisor.
. mapExpr . keyIdentifier Возвращает значение MAP через keyIdentifier.
. structExpr . fieldIdentifier Возвращает поле STRUCT от fieldIdentifier.
== expr1 == expr2 Возвращает true, если expr1 равно expr2. В противном случае возвращает false.
= expr1 = expr2 Возвращает true, если expr1 равно expr2. В противном случае возвращает false.
>= expr1 >= expr2 Возвращает true, если значение expr1 больше или равно значению expr2. В противном случае возвращаетfalse.
> expr1 > expr2 Возвращает true, если значение expr1 больше, чем значение expr2. В противном случае возвращает false.
Существует exists(query) Возвращает значение true, если query возвращает хотя бы одну строку. В противном случае возвращает false.
ilike str [not] ilike (pattern[ESCAPE escape]) Возвращает значение true, если str (не) соответствует pattern без учета регистра в escape.
ilike str [not] ilike {ANY\|SOME\|ALL}([pattern[, ...]]) Возвращает true, если str (не) соответствует любым или всем шаблонам независимо от регистра.
в elem [not] in (expr1[, ...]) Возвращает значение true, если elem (не) равно какому-либо exprN.
в elem [not] in (query) Возвращает true, если elem (не) равно любой строке в query.
отличается expr1 is [not] distinct from expr2 Проверяет, имеют ли аргументы разные значения, при которых NULL считаются сопоставимыми значениями.
ложь expr is [not] false Проверяет, (не) имеет ли expr значение false.
имеет значение NULL expr is [not] null Возвращает true, если expr (не) равно NULL.
является истинным expr is [not] true Проверяет, (не) имеет ли expr значение true.
нравиться str [not] like (pattern[ESCAPE escape]) Возвращает значение true, если str (не) совпадает pattern с escape.
нравиться str [not] like {ANY\|SOME\|ALL}([pattern[, ...]]) Возвращает значение true, если str (не) совпадает с какими-либо/всеми шаблонами.
<=> expr1 <=> expr2 Возвращает тот же результат, что и EQUAL(=) для операндов, отличных от NULL, но возвращает true, если оба операнда имеют значение NULL, и false, если один из них имеет значение NULL.
<= expr1 <= expr2 Возвращает true, если значение expr1 меньше или равно значению expr2. В противном случае возвращает false.
<> expr1 <> expr2 Возвращает значение true, если expr1 не равно expr2. В противном случае возвращает false.
< expr1 < expr2 Возвращает значение true, если значение expr1 меньше значения expr2. В противном случае — значение false.
- expr1 - expr2 Возвращает результат вычитания expr2 из expr1.
не not expr Возвращает логическое значение NOT для логического выражения.
или expr1 or expr2 Возвращает логическое значение OR от expr1 и expr2.
% dividend % divisor Возвращает остаток после dividend / divisor.
|| expr1 \|\| expr2 Возвращает результат объединения expr1 и expr2.
| expr1 \| expr2 Возвращает побитовое значение OR для expr1 и expr2.
+ expr1 + expr2 Возвращает сумму expr1 и expr2.
regexp str [not] regexp regex Возвращает значение true, если str (не) совпадает с regex.
regexp_like str [not] regexp_like regex Возвращает значение true, если str (не) совпадает с regex.
rlike str [not] rlike regex Возвращает значение true, если str (не) совпадает с regex.
/ dividend / divisor Возвращает результат деления dividend на divisor.
~ ~ expr Возвращает значение побитового NOT для expr.

Приоритет операторов

Приоритет Оператор
1 :, , ::?::[ ]
2 -(унарный), +(унарный), ~
3 *, , /%div
4 +, , -\|\|
5 &
6 ^
7 \|
8 =, ==<=><>!=<<=>>=
9 not, exists
10 between, in, rlikeregexpilikelikeis [not] [NULL, true, false]is [not] distinct from
11 and
12 or

Строковые и двоичные функции

Функция Описание
expr1 || expr2 Возвращает результат объединения expr1 и expr2.
aes_decrypt(expr, key[, mode[, padding[, aad]]]) Расшифровывает двоичный файл expr с помощью шифрования AES.
aes_encrypt(expr, key[, mode[, padding[, iv[, aad]]]) Зашифровывает двоичный файл expr с помощью шифрования AES.
ascii(str) Возвращает кодовую точку ASCII первого символа str.
base64(expr) Преобразовывает expr в строку base64.
bin(expr) Возвращает двоичное представление expr.
binary(expr) Преобразует значение expr в BINARY.
bit_length(expr) Возвращает длину строковых данных в битах или число битов двоичных данных.
bitmap_count(expr) Возвращает количество битов, заданных в строке BINARY , представляющей растровое изображение.
btrim(str [, trimStr]) Возвращает str с удаленными начальными и конечными символами.
char(expr) Возвращает символ в указанной кодовой точке UTF-16.
char_length(expr) Возвращает длину строковых данных в символах или число байтов двоичных данных.
длина_строки(expr) Возвращает длину строковых данных в символах или число байтов двоичных данных.
charindex(substr, str[, pos]) Возвращает позицию первого вхождения substr в str после позиции pos.
chr(expr) Возвращает символ в указанной кодовой точке UTF-16.
strExpr collate collationName Присоединяет явную сортировку collationName к strExpr.
параметры сортировки [for] (strExpr) Возвращает схему сортировки, прикрепленную к strExpr.
concat(expr1, expr2[, ...]) Возвращает объединение аргументов.
concat_ws(sep[, expr1[, ...]]) Возвращает объединённые строки, разделенные sep.
contains(expr, subExpr) Возвращает значение true , если exprSTRING или BINARY содержит subExpr.
crc32(expr) Возвращает значение циклической проверки избыточности для expr.
decode(expr, charSet) Преобразует двоичное значение expr в строку с помощью кодировки символьного набора charSet.
encode(expr, charSet) Возвращает двоичное представление строки с использованием кодировки символов charSet.
endwith(expr, endExpr) Возвращает значение true , если exprSTRING или BINARY заканчивается endExpr.
find_in_set(searchExpr, sourceExpr) Возвращает позицию строки в разделенном запятыми списке строк.
format_number(expr, scale) Форматирует expr как #,###,###.## с округлением до scale десятичных разрядов.
format_number(expr, fmt) Форматировать expr как fmt.
format_string(strfmt[, obj1 [, ...]]) Возвращает форматированную строку из строк формата в стиле printf.
hex(expr) Преобразовывает expr в шестнадцатеричное значение.
str ilike (pattern[ESCAPE escape]) Возвращает значение true, если str совпадает с pattern без учета регистра escape.
initcap(expr) Возвращает expr, где первая буква каждого слова прописная.
instr(str, substr) Возвращает индекс (начиная с 1) первого вхождения substr в str.
lcase(expr) Возвращает expr, где все символы заменены на строчные.
left(str, len) Возвращает левые len символы из str.
len(expr) Возвращает длину строковых данных в символах или число байтов двоичных данных.
length(expr) Возвращает длину строковых данных в символах или число байтов двоичных данных.
levenshtein(str1, str2) Возвращает расстояние Левенштейна между строками str1 и str2.
стр как (шаблон[ESCAPE escape]) Возвращает значение true, если str совпадает с pattern и escape.
locate(substr, str[, pos]) Возвращает позицию первого вхождения substr в str после позиции pos.
lower(expr) Возвращает expr, где все символы заменены на строчные.
lpad(expr, len[, pad]) Возвращает expr, дополняя слева pad до длины len.
ltrim([trimstr,] str) Возвращает str с удалением начальных символов, содержащихся в trimStr.
mask(str[, upperChar[, lowerChar[, digitChar[, otherChar]]]) Возвращает маскированную версию входных данных str.
md5(expr) Возвращает 128-разрядную контрольную сумму MD5 для expr в виде шестнадцатеричной строки.
octet_length(expr) Возвращает длину строковых данных в байтах или число байтов двоичных данных.
наложение(input ПРИМЕНЕНИЕ замена ИЗ pos [ДЛЯ len]) Заменяет input на replace, который начинается с pos и имеет длину len.
наложение(input ПРИМЕНЕНИЕ замена ИЗ pos [ДЛЯ len]) Заменяет input на replace, который начинается с pos и имеет длину len.
parse_url(url, partToExtract[, key]) Извлекает часть из url.
position(substr, str[, pos]) Возвращает позицию первого вхождения substr в str после позиции pos.
position(subtr IN str) Возвращает позицию первого вхождения substr в str после позиции pos.
printf(strfmt[, obj1 [, ...]]) Возвращает форматированную строку из строк формата в стиле printf.
randstr(length) Возвращает случайную строку length буквенно-числовых символов.
str regexp regex Возвращает значение true, если str соответствует regex.
str regexp_like regex Возвращает значение true, если str соответствует regex.
regexp_count(str, regexp) Возвращает количество совпадений str с шаблоном regexp.
regexp_extract(str, regexp[, idx]) Извлекает первую строку в str, которая соответствует выражению regexp и соответствует индексу группы regex.
regexp_extract_all(str, regexp[, idx]) Извлекает все строки в str, которые соответствуют выражению regexp и соответствуют индексу группы regex.
regexp_instr(str, regexp) Возвращает позицию первой подстроки в str, которая соответствует regexp.
regexp_replace(str, regexp, rep[, position]) Заменяет все подстроки в str, которые соответствуют regexp, на rep.
regexp_substr(str, regexp) Возвращает первую подстроку в str, которая соответствует regexp.
repeat(expr, n) Возвращает строку, которая повторяется exprn раз.
заменить(строка, поиск [, замена]) Заменяет все случаи search на replace.
reverse(expr) Возвращает обратную строку или массив с обратным порядком элементов.
right(str, len) Возвращает крайние справа len символов из строки str.
str rlike regex Возвращает значение true, если str соответствует regex.
rpad(expr, len[, pad]) Возвращает строку expr, дополненную справа символами pad до длины len.
rtrim([trimStr,] str) Возвращает str с удалёнными конечными символами.
предложения(str[, lang, country]) Разделяет str в массив массивов слов.
sha(expr) Возвращает хэш-код SHA-1 в виде шестнадцатеричной строки для expr.
sha1(expr) Возвращает хэш-код SHA-1 в виде шестнадцатеричной строки для expr.
sha2(expr, bitLength) Возвращает контрольную сумму семейства SHA-2 в виде шестнадцатеричной строки для expr.
soundex(expr) Возвращает код "soundex" строки.
space(n) Возвращает строку, состоящую из n пробелов.
split(str, regex[, limit]) Разделяет str вокруг вхождений, соответствующих regex, и возвращает массив длиной не более limit.
split_part(str, delim, partNum) Разделяет str по вхождениям delim и возвращает часть partNum.
startwith(expr, startExpr) Возвращает значение true , если exprSTRING или BINARY начинается с startExpr.
string(expr) Приведение значения expr к STRING.
substr(expr, pos[, len]) Возвращает подстроку, входящую в expr, которая начинается с pos и имеет длину len.
substr(expr FROM pos[ FOR len]) Возвращает подстроку, входящую в expr, которая начинается с pos и имеет длину len.
substring(expr, pos[, len]) Возвращает подстроку, входящую в expr, которая начинается с pos и имеет длину len.
подстрока(expr FROM pos[ FOR len]) Возвращает подстроку, входящую в expr, которая начинается с pos и имеет длину len.
substring_index(expr, delim, count) Возвращает подстроку из expr, которая находится перед count вхождениями разделителя delim.
to_binary(expr[, fmt]) Возвращает expr, приведённое к двоичному типу на основе fmt.
to_char(numExpr, fmt) Возвращает приведение numExpr к STRING с использованием форматирования fmt.
to_varchar(numExpr, fmt) Возвращает приведение numExpr к STRING с использованием форматирования fmt.
translate(expr, from, to) Возвращает expr, где все символы в from заменяются на символы из to.
trim([[ОБА | ВЕДУЩИЙ | ЗАВЕРШАЮЩИЙ] [trimStr] FROM] str) Обрезает символы из строки.
try_aes_decrypt(expr, key[, mode[, padding[, aad]]]) Расшифровывает двоичный файл expr с помощью шифрования AES и возвращается NULL в случае ошибки.
try_to_binary(expr [, fmt]) - попытка преобразования выражения в двоичный формат. Возвращает expr, преобразованный в BINARY на основе fmt, или NULL, если входные данные недопустимы.
try_url_decode(str) Преобразует строку обратно из формата application/x-www-form-urlencoded и возвращает NULL, в случае ошибки.
try_zstd_decompress(значение) Возвращает значение, распакованное с использованием сжатия Zstandard, или NULL, если входные данные некорректны.
ucase(expr) Возвращает expr со всеми символами, преобразованными в прописные.
unbase64(expr) Возвращает декодированную строку base64 в виде двоичного кода.
unhex(expr) Преобразует шестнадцатеричное expr в BINARY.
upper(expr) Возвращает expr со всеми символами, преобразованными в прописные.
url_decode(str) Преобразует строку обратно из формата application/x-www-form-urlencoded.
url_encode(str) Преобразует строку в формат application/x-www-form-urlencoded .
zstd_compress (значение[,уровень[,streaming_mode]]) Возвращает значение, сжатое с помощью Zstandard.
zstd_decompress(значение) Возвращает значение, распакованное с использованием алгоритма Zstandard.

Числовые скалярные функции

Функция Описание
~ expr Возвращает значение побитового NOT для expr.
дивиденд / делитель Возвращает результат деления dividend на divisor.
expr1 | expr2 Возвращает побитовое значение OR для expr1 и expr2.
- expr Возвращает отрицательное значение expr.
expr1 - expr2 Возвращает результат вычитания expr2 из expr1.
+ expr Возвращает значение expr.
expr1 + expr2 Возвращает сумму expr1 и expr2.
делитель дивидендов % Возвращает остаток после dividend / divisor.
expr1 ^ expr2 Возвращает побитовое исключающее OR (XOR) значений expr1 и expr2.
expr1 & expr2 Возвращает побитовое значение AND для expr1 и expr2.
множитель * множимое Возвращает значение multiplier, умноженное на multiplicand.
abs(expr) Возвращает абсолютное значение численного значения в expr.
acos(expr) Возвращает обратный косинус (арккосинус) значения expr.
acosh(expr) Возвращает обратный гиперболический косинус аргумента expr.
asin(expr) Возвращает обратный синус (арксинус) значения expr.
asinh(expr) Возвращает обратный гиперболический синус аргумента expr.
atan(expr) Возвращает обратный тангенс (арктангенс) значения expr.
atan2(exprY, exprX) Возвращает угол в радианах между положительной осью x плоскости и точкой, заданной координатами (exprX, exprY).
atanh(expr) Возвращает обратный гиперболический тангенс expr.
bigint(expr) Приведение значения expr к BIGINT.
bit_count(expr) Возвращает количество бит, заданных в аргументе.
bit_get(expr, pos) Возвращает значение бита в двоичном представлении целочисленного числа.
bit_reverse(expr) Возвращает значение, которое получается при изменении порядка битов в аргументе.
позиция_бита_в_битовой_карте(expr) Возвращает 0-разрядную позицию заданного BIGINT числа в контейнере.
bitmap_bucket_number(expr) Возвращает номер контейнера растрового изображения для заданного BIGINT числа.
bround(expr[,targetScale]) Возвращает значение expr, округленное с использованием режима округления HALF_EVEN.
cbrt(expr) Возвращает кубический корень числа expr.
ceil(expr[,targetScale]) Возвращает наименьшее число не меньше expr с округлением до targetScale цифр после запятой.
ceiling(expr[,targetScale]) Возвращает наименьшее число не меньше expr с округлением до targetScale цифр после запятой.
conv(num, fromBase, toBase) Преобразует num из fromBase в toBase.
convert_timezone([sourceTz, ]targetTz, sourceTs) Преобразует TIMESTAMP_NTZsourceTs из часового пояса sourceTz в targetTz.
cos(expr) Возвращает косинус expr.
cosh(expr) Возвращает гиперболический косинус expr.
cot(expr) Возвращает котангенс значения expr.
csc(expr) Возвращает косеканс значения expr.
decimal(expr) Приведение значения expr к DECIMAL.
градусы(expr) Преобразует радианы в градусы.
делитель div дивиденд Возвращает целую часть деления divisor на dividend.
double(expr) Приведение значения expr к DOUBLE.
e() Возвращает константу e.
exp(expr) Возводит e в степень expr.
expm1(expr) Возвращает exp(expr) - 1.
factorial(expr) Возвращает факториал значения expr.
float(expr) Приведение значения expr к FLOAT.
floor(expr[,targetScale]) Возвращает наибольшее число не меньше expr с округлением до targetScale цифр после запятой.
getbit(expr, pos) Возвращает значение бита в двоичном представлении целочисленного числа.
hypot(expr1, expr2) Возвращает sqrt(expr1 * expr1 + expr2 * expr2).
int(expr) Приведение значения expr к INTEGER.
isnan(expr) Возвращает true, если expr равно NaN.
ln(expr) Возвращает натуральный логарифм (с основанием e) от expr.
log([base,] expr) Возвращает логарифм expr по основанию base.
log1p(expr) Возвращает log(1 + expr).
log2(expr) Возвращает логарифм expr с основанием 2.
log10(expr) Возвращает логарифм expr с основанием 10.
mod(дивиденд, делитель) Возвращает остаток от деления на dividend / divisor.
nanvl(expr1, expr2) Возвращает expr1, если не NaN, или expr2 в противном случае.
negative(expr) Возвращает отрицательное значение expr.
'nullifzero(expr)' Возвращает значение expr , если оно не равно нулю или в NULL противном случае.
pi() Возвращает значение числа Пи.
pmod(дивиденд, делитель) Возвращает положительный остаток после dividend / divisor.
позитивный(expr) Возвращает значение expr.
pow(expr1, expr2) Возводит expr1 в степень expr2.
power(expr1, expr2) Возводит expr1 в степень expr2.
radians(expr) Преобразует выражение expr в градусах в радианы.
rand([seed]) Возвращает случайное значение от 0 до 1.
randn([seed]) Возвращает случайное значение из стандартного нормального распределения.
random([seed]) -- функция для генерации случайных чисел Возвращает случайное значение от 0 до 1.
rint(expr) Возвращает expr, округлённый до целого числа, как DOUBLE.
round(expr[,targetScale]) Возвращает значение expr, округленное с использованием режима округления HALF_UP.
sec(expr) Возвращает секанс значения expr.
shiftleft(expr, n) Возвращает число, полученное в результате побитового сдвига влево на n бит.
shiftright(expr, n) Возвращает побитово сдвинутое вправо целочисленное число со знаком на n бит.
shiftrightunsigned(expr, n) Возвращает результат побитового сдвига вправо целочисленного числа, рассматриваемого как беззнаковое, на n бит.
sign(expr) Возвращает значение -1.0, 0.0 или 1.0 в зависимости от того, является ли значение expr отрицательным, нулевым или положительным.
signum(expr) Возвращает значение -1.0, 0.0 или 1.0 в зависимости от того, является ли значение expr отрицательным, нулевым или положительным.
sin(expr) Возвращает синус expr.
sinh(expr) Возвращает гиперболический синус expr.
smallint(expr) Приведение значения expr к SMALLINT.
sqrt(expr) Возвращает квадратный корень expr.
tan(expr) Возвращает тангенс expr.
tanh(expr) Возвращает гиперболический тангенс expr.
tinyint(expr) Приведение expr к TINYINT.
to_number(expr, fmt) Возвращает expr, приведённый к DECIMAL, с использованием форматирования fmt.
try_add(expr1, expr2) Возвращает сумму expr1 и expr2(или NULL ) в случае ошибки.
try_divide(дивиденды, делитель) Возвращает dividend, деленное на divisor, или NULL, если divisor равно 0.
try_mod(дивиденды, делитель) Возвращает остаток после dividend / divisor, или NULL, если divisor равно 0.
try_multiply(множетель, множимое) Возвращает multiplier, умноженное на multiplicand,или NULL при переполнении.
try_subtract(expr1, expr2) Возвращает результат вычитания expr2 из expr1 или NULL при переполнении.
try_to_number(expr, fmt) Возвращает expr, приведённое к DECIMAL, с использованием форматирования fmt, или NULL, если expr с форматом не соответствует.
uniform(expr1, expr2 [,seed]) Возвращает случайное значение с независимыми и идентичными распределенными значениями в указанном диапазоне чисел.
width_bucket(expr, minExpr, maxExpr, numBuckets) Возвращает номер контейнера для значения в гистограмме равной ширины.
'zeroifnull(expr)' Возвращает expr, если это не NULL, или 0 в противном случае.

Агрегатные функции

Функция Описание
any(expr) Возвращает значение true, если хотя бы одно значение expr в группе имеет значение true.
any_value(expr[,ignoreNull]) Возвращает некоторое значение expr для группы строк.
approx_count_distinct(expr[,relativeSD]) Возвращает предполагаемое количество уникальных значений в expr в группе.
approx_percentile(expr, percentage[, точность]) Возвращает приблизительное значение процентиля expr в группе.
approx_top_k(expr[,k[,maxItemsTracked]]) Возвращает значения k наиболее часто встречающихся элементов в выражении expr и их приблизительное количество.
array_agg(expr) Возвращает массив, состоящий из всех значений в expr в группе.
avg(expr) Возвращает среднее значение, вычисляемое из значений группы.
bit_and(expr) Возвращает побитовое AND всех входных значений в группе.
bit_or(expr) Возвращает побитовое OR всех входных значений в группе.
bit_xor(expr) Возвращает побитовое XOR всех входных значений в группе.
bitmap_construct_agg(expr) Возвращает битовое OR значение всех битовых позиций в группе. от 0 до 32767 в группе, представленных в виде BINARY.
bitmap_or_agg(expr) Возвращает битовое OR значение всех BINARY входных значений в группе.
bool_and(expr) Возвращает значение true, если в группе все значения в выражении expr имеют значение true.
bool_or(expr) Возвращает значение true, если хотя бы одно значение в выражении expr в группе имеет значение true.
collect_list(expr) Возвращает массив, состоящий из всех значений в expr в группе.
collect_set(expr) Возвращает массив, содержащий все уникальные значения из expr в рамках группы.
corr(expr1,expr2) Возвращает коэффициент Пирсона для корреляции между группой пар чисел.
count(*) Возвращает общее число извлеченных строк в группе, включая строки, содержащие значение NULL.
count(expr[, ...]) Возвращает количество строк в группе, для которых указанные выражения имеют значения, отличные от NULL.
count_if(expr) Возвращает число истинных значений для группы в expr.
count_min_sketch(столбец,column,эпсилон,confidence,seed) Возвращает эскиз count-min всех значений в группе column с epsilon, confidence и seed.
covar_pop(expr1,expr2) Возвращает ковариацию генеральной совокупности для пар чисел в данной выборке.
covar_samp(expr1,expr2) Возвращает ковариацию выборки для пар чисел в группе.
every(expr) Возвращает значение true, если все значения в выражении expr в группе имеют значение true.
first(expr[,ignoreNull]) Возвращает первое значение expr для группы строк.
first_value(expr[,ignoreNull]) Возвращает первое значение expr для группы строк.
histogram_numeric(expr,numBins) Вычисляет гистограмму expr с numBins ячейками, возвращая массив пар, представляющих центры ячеек.
hll_sketch_agg(expr[,lgConfigK]) Возвращает структуру HyperLogLog, используемую для оценки количества уникальных значений.
hll_union_agg(expr[,allowDifferentLgConfigK]) Агрегирует эскизы HyperLogLog для группы строк.
kurtosis(expr) Возвращает значение эксцесса, вычисленное на основе значений группы.
last(expr[,ignoreNull]) Возвращает последнее значение expr для группы строк.
last_value(expr[,ignoreNull]) - последнее_значение Возвращает последнее значение expr для группы строк.
listagg(expr[,delim]) [WITHIN GROUP (ORDER BY ключ [,...])] Возвращает объединённое STRING или BINARY из всех значений в expr в группе, разделённых delim.
max(expr) Возвращает максимальное значение expr в группе.
max_by(expr1,expr2) Возвращает значение expr1, связанное с максимальным значением expr2 в группе.
mean(expr) Возвращает среднее значение, вычисляемое из значений группы.
measure(measure_column) Возвращает меру представления метрик, вычисляемого из значений группы.
median(expr) Возвращает медиану, вычисляемую из значений группы.
min(expr) Возвращает минимальное значение expr в группе.
min_by(expr1, expr2) Возвращает значение expr1, связанное с минимальным значением expr2 в группе.
mode(expr [,deterministic]) Возвращает наиболее частое значение NULL в группе, не равное expr.
percentile(expr, процент [,частота]) Возвращает точное значение процентиля expr в указанном percentage.
percentile_approx(expr,percentage[,точность]) Возвращает приблизительное значение процентиля expr в группе.
percentile_cont(pct) WITHIN GROUP (ORDER BY ключ) Возвращает интерполированное значение процентиля key в группе.
percentile_disc(pct) WITHIN GROUP (ORDER BY ключ) Возвращает дискретное значение процентиля key в группе.
regr_avgx(yExpr, xExpr) Возвращает среднее значение xExpr, вычисленное из значений группы, когда xExpr и yExpr равны NOT NULL.
regr_avgy(yExpr, xExpr) Возвращает среднее значение yExpr, вычисленное из значений группы, когда xExpr и yExpr равны NOT NULL.
regr_count(yExpr, xExpr) Возвращает число пар значений yExpr и xExpr, отличных от NULL, в группе.
regr_intercept(yExpr, xExpr) Возвращает отсекаемый отрезок линии линейной регрессии в группе, где xExpr и yExpr имеют значение, отличное от NULL.
regr_r2(yExpr, xExpr) Возвращает коэффициент детерминации, вычисленный на основе значений группы, где xExpr и yExpr не равны NULL.
regr_slope(yExpr, xExpr) Возвращает наклон линии линейной регрессии пар значений yExpr, xExpr, отличных от NULL, в группе.
regr_sxx(yExpr, xExpr) Возвращает сумму квадратов значений xExpr группы, где xExpr и yExpr не равны NULL.
regr_sxy(yExpr, xExpr) Возвращает сумму продуктов yExpr и xExpr, которые вычисляются из значений группы, где xExpr и yExpr являются NOT NULL.
regr_syy(yExpr, xExpr) Возвращает сумму квадратов значений yExpr группы, где xExpr и yExpr не равны NULL.
schema_of_json_agg(json[, параметры]) Возвращает объединенную схему JSON строк в группе в формате DDL.
схема_варианта_агг(variantExpr) Возвращает объединенную схему всех VARIANT значений в группе в формате DDL.
коэффициент_асимметрии(expr) Возвращает значение отклонения, вычисляемое из значений группы.
some(expr) Возвращает значение true, если хотя бы одно значение expr в группе имеет значение true.
std(expr) Возвращает стандартное отклонение выборки, вычисленное по значениям в группе.
stddev(expr) Возвращает стандартное отклонение выборки, вычисленное по значениям в группе.
stddev_pop(expr) Возвращает стандартное отклонение совокупности, вычисленное по значениям группы.
stddev_samp(expr) Возвращает стандартное отклонение выборки, вычисленное по значениям группы.
string_agg(expr[,delim]) [В ГРУППЕ (ORDER BY ключ [,...])] Возвращает объединённое STRING или BINARY из всех значений в expr в группе, разделённых delim.
sum(expr) Возвращает сумму, вычисленную на основе значений группы.
try_avg(expr) Возвращает среднее значение, вычисляемое из значений группы, NULL если имеется переполнение.
try_sum(expr) Возвращает сумму, вычисляемую из значений группы, NULL если имеется переполнение.
var_pop(expr) Возвращает дисперсию популяции, вычисляемую из значений группы.
var_samp(expr) Возвращает выборку дисперсии, вычисляемой из значений группы.
дисперсия(expr) Возвращает выборку дисперсии, вычисляемой из значений группы.

Ранжирование функций окна

Функция Описание
dense_rank() Возвращает ранг значения по сравнению со всеми значениями в разделе.
ntile(n) Делит строки для каждой секции окна на n контейнеров, начиная от 1 до не более n.
percent_rank() Вычисляет процентный ранг значения в разбиении.
rank() Возвращает ранг значения по сравнению со всеми значениями в разделе.
row_number() Присваивает каждой строке уникальный последовательный номер, начиная с единицы, в соответствии с порядком строк в разделе окна.

Аналитические функции окон

Функция Описание
cume_dist() Возвращает позицию значения относительно всех значений в разделе.
lag(expr[,offset[,default]]) Возвращает значение expr из предыдущей строки в разделе.
lead(expr[,offset[,default]]) Возвращает значение expr из последующей строки в разделе.
nth_value(expr, offset[, ignoreNulls]) Возвращает значение expr в заданном offset в окне.

Функции массива

Функция Описание
arrayExpr[indexExpr] Возвращает элемент в позиции indexExpr массива arrayExpr.
aggregate(expr,start,merge[,finish]) Объединяет элементы массива с помощью пользовательского агрегатора.
array([expr [, ...]]) Возвращает массив с элементами в expr.
array_append(array, elem) Возвращает array, к которому добавлен elem.
array_compact(массив) Удаляет значения NULL из array.
array_contains(массив,значение) Возвращает значение true, если array содержит value.
array_distinct(массив) Удаляет повторяющиеся значения из array.
array_except(array1,array2) Возвращает массив элементов в array1, но не в array2.
array_insert(массив, индекс, элемент) Возвращает развернутый array, где elem вставляется на позицию index.
array_intersect(array1,array2) - функция для нахождения пересечения массивов array1 и array2. Возвращает массив элементов в пересечении array1 и array2.
array_join(массив,разделитель[,nullReplacement]) Объединяет элементы array.
array_max(массив) Возвращает максимальное значение в array.
array_min(массив) Возвращает минимальное значение в array.
array_position(array,element) Возвращает позицию первого вхождения element в array.
array_prepend(array, elem) Возвращает array предварительно заданное elemзначение.
array_remove(array,element) Удаляет все вхождения element из array.
array_repeat(элемент,количество) Возвращает массив, содержащий elementcount раз.
array_size(массив) Возвращает количество элементов в array.
array_sort(массив,функция) Возвращает массив array, отсортированный в соответствии с параметром func.
array_union(array1,array2) Возвращает массив элементов в объединении array1 и array2 без дубликатов.
arrays_overlap(array1, array2) - Функция проверяет, пересекаются ли массивы array1 и array2. Возвращает значение true, если пересечение array1 и array2 не является пустым.
arrays_zip(array1 [, ...]) Возвращает объединенный массив структур, где n-я структура содержит все n-ые элементы из входных массивов.
кардинальность(expr) Возвращает размер expr.
concat(expr1, expr2 [, ...]) Возвращает объединение аргументов.
element_at(arrayExpr, index) Возвращает элемент arrayExpr в позиции index.
exists(expr, pred) Возвращает значение true, если pred имеет значение true для любого элемента в expr.
взрыв(коллекция) Возвращает строки путем отмены вложенности collection.
explode_outer(коллекция) Возвращает строки путем отмены вложенности collection с использованием внешней семантики.
filter(expr,func) Фильтрует массив в expr с помощью функции func.
flatten(arrayOfArrays) Преобразует массив массивов в один массив.
forall(expr, predFunc) Проверяет, выполняется ли predFunc для всех элементов в массиве.
get(arrayExpr, index) Возвращает элемент из arrayExpr на index, начиная с 0.
inline(input) Преобразует массив структур в таблицу.
inline_outer(входные данные) Разворачивает массив структур в таблицу, используя внешнюю логику.
posexplode(collection) Возвращает строки, полученные путем отмены вложенности массива с нумерацией позиций.
posexplode_outer(коллекция) Возвращает строки путем отмены вложенности массива с нумерацией позиций с использованием семантики OUTER.
reduce(expr,start,merge[,finish]) Объединяет элементы массива с помощью пользовательского агрегатора.
reverse(array) Возвращает обратную строку или массив с обратным порядком элементов.
последовательность(начало,конец,шаг) Создает массив элементов от start до stop (включительно) с шагом step.
shuffle(array) Возвращает случайную перестановку массива в expr.
size(expr) Возвращает кратность expr.
slice(expr,start,length) Возвращает подмножество массива.
sort_array(expr[,ascendingOrder]) Возвращает массив в expr в отсортированном порядке.
transform(expr, func) Преобразует элементы в массиве в expr с помощью функции func.
try_element_at(arrayExpr, index) Возвращает элемент arrayExpr, расположенный на позиции index, или NULL, если index выходит за пределы допустимых значений.
zip_with(expr1, expr2, func) Объединяет массивы в expr1 и expr2 поэлементно в один массив с помощью func.

Функции карты

Функция Описание
mapExpr[keyExpr] Возвращает значение в keyExpr из отображения mapExpr.
кардинальность(expr) Возвращает размер expr.
element_at(mapExpr, ключ) Возвращает значение mapExpr для key.
взрыв(коллекция) Возвращает строки путем отмены вложенности expr.
explode_outer(коллекция) Возвращает строки путем отмены вложенности expr с использованием внешней семантики.
map([{key1, value1}[, ...]]) Создает карту с указанными парами "ключ-значение".
map_concat([expr1 [, ...]]) Возвращает объединение всех выражений отображения expr.
map_contains_key(карта, ключ) Возвращает true, если map содержит key, в противном случае возвращает false.
map_entries(карта) Возвращает неупорядоченный массив всех записей в map.
map_filter(expr, func) Фильтрует записи в карте expr с помощью функции func.
map_from_arrays(ключи, значения) Создает карту с парой массивов keys и values.
map_from_entries(expr) Создает карту, созданную из указанного массива записей.
map_keys(карта) Возвращает неупорядоченный массив, содержащий ключи map.
map_values(карта) Возвращает неупорядоченный массив, содержащий значения map.
map_zip_with(map1, map2, func) — Эта функция объединяет элементы из двух карт (map1 и map2) с помощью функции (func). Объединяет map1 и map2 в единую карту.
size(expr) Возвращает кратность expr.
str_to_map(expr[,pairDelim[,keyValueDelim]]) Возвращает карту после разделения expr на пары "ключ-значение" с помощью разделителей.
transform_keys(expr, func) Преобразует ключи в объекте отображения в expr с помощью функции func.
transform_values(expr, func) Преобразует значения в сопоставлении в expr с помощью функции func.
try_element_at(mapExpr, ключ) Возвращает значение mapExpr для key или NULL, если key не существует.

Функции даты, меток времени и интервалов

Сведения о форматах меток даты и времени см. в шаблонах Datetime.

Функция Описание
intervalExpr / divisor Возвращает интервал, деленный на divisor.
- intervalExpr Возвращает отрицательное значение intervalExpr.
intervalExpr1 — intervalExpr2 Возвращает результат вычитания intervalExpr2 из intervalExpr1.
datetimeExpr1 — datetimeExpr2 Возвращает результат вычитания datetimeExpr2 из datetimeExpr1.
+ intervalExpr Возвращает значение intervalExpr.
intervalExpr1 + intervalExpr2 Возвращает сумму intervalExpr1 и intervalExpr2.
intervalExpr * умножение Возвращает значение intervalExpr, умноженное на multiplicand.
abs(expr) Возвращает абсолютное значение интервала в expr.
add_months(startDate,numMonths) Возвращает дату numMonths после startDate.
curdate() Возвращает текущую дату на момент начала обработки запроса.
current_date() Возвращает текущую дату на момент начала обработки запроса.
current_timestamp() Возвращает текущую метку времени на момент начала вычисления запроса.
current_timezone() Возвращает локальный часовой пояс текущего сеанса.
date(expr) Приводит значение expr к типу DATE.
date_add(startDate,numDays) Возвращает дату numDays после startDate.
date_add(единица, значение, экспр) Добавляет value(unit) к временной метке expr.
date_diff(единица, запуск, остановка) Возвращает разницу между двумя метками времени, измеряемую в unit.
date_format(expr,fmt) Преобразует метку времени в строку в формате fmt.
date_from_unix_date(дни) Создает дату согласно количеству дней, прошедших после 1970-01-01.
date_part(field,expr) Извлекает часть даты, метки времени или интервала.
date_sub(startDate,numDays) Возвращает дату numDays до startDate.
date_trunc(unit,expr) Возвращает метку времени, усеченную до единицы измерения, указанной в параметре unit.
dateadd(startDate,numDays) Возвращает дату numDays после startDate.
dateadd(unit, value, expr) Добавляет value(unit) к временной метке expr.
datediff(endDate,startDate) Возвращает число дней с startDate до endDate.
datediff(единица, начало, конец) Возвращает разницу между двумя метками времени, измеряемую в unit.
day(expr) Возвращает день месяца для даты или временной метки.
dayname(expr) Возвращает трехбуквенный английский акроним для дня недели для указанной даты.
dayofmonth(expr) Возвращает день месяца для даты или временной метки.
dayofweek(expr) Возвращает день недели для даты или метки времени.
dayofyear(expr) Возвращает день года для даты или отметки времени.
делитель div дивиденд Возвращает целую часть деления интервала divisor на интервал dividend.
extract(поле ИЗ источника) Возвращает значение field из source.
from_unixtime(unixTime,fmt) Возвращает unixTime в fmt.
from_utc_timestamp(expr,timezone) Возвращает метку времени на UTC для метки времени expr на timeZone.
getdate() Возвращает текущую метку времени на момент начала вычисления запроса.
hour(expr) Возвращает часовую составляющую метки времени.
last_day(expr) Возвращает последний день месяца, к которому принадлежит дата.
make_date(год,месяц,день) Создает дату на основе полей year, month и day.
make_dt_interval([дни[, часы[, минуты[, секунды]]]]) Создает интервал времени дня на основе days, hours, mins и secs.
make_interval(годы, месяцы, недели, дни, часы, минуты, сек) Не рекомендуется: создает интервал на основе years, months, weeks, days, hours, mins и secs.
make_timestamp(год,месяц,день,час,мин,сек[,часовой пояс]) Создает метку времени на основе полей year, month, day, hour, min, sec и timezone.
make_ym_interval([годы[, месяцы]]) Создает интервал год-месяц из years и months.
минута(expr) Возвращает минутную часть метки времени в expr.
month(expr) Возвращает компонент месяца для метки времени в expr.
months_between(expr1, expr2[, roundOff]) Возвращает число месяцев, прошедших между датами или метками времени в expr1 и expr2.
next_day(expr,dayOfWeek) Возвращает первую дату, которая позже expr и называется dayOfWeek.
now() Возвращает текущую метку времени на момент начала вычисления запроса.
quarter(expr) Возвращает квартал года для expr в диапазоне от 1 до 4.
second(expr) Возвращает второй компонент метки времени в expr.
session_window(expr, gpDuration) Создает окно сеанса на основе выражения метки времени.
sign(expr) Возвращает значение -1.0, 0.0 или 1.0 в зависимости от того, является ли интервал expr отрицательным, равным 0 или положительным.
signum(expr) Возвращает значение -1.0, 0.0 или 1.0 в зависимости от того, является ли интервал expr отрицательным, равным 0 или положительным.
timediff(единица, начало, конец) Возвращает разницу между двумя метками времени, измеряемую в unit.
timestamp(expr) Приведение expr к TIMESTAMP.
timestamp_micros(expr) Создает метку времени в expr микросекунд с начала эпохи UTC.
метка времени в миллисекундах (expr) Создает отметку времени с точностью до expr миллисекунд, начиная с эпохи UTC.
timestamp_seconds(expr) Создает метку времени на expr секунд с начала эпохи UTC.
timestampadd(единица, значение, выражение) Добавляет value(unit) к временной метке expr.
timestampdiff(unit, start, stop) Возвращает разницу между двумя метками времени, измеряемую в unit.
to_date(expr[,fmt]) Возвращает значение expr, приведенное к дате, с применением необязательного форматирования.
to_timestamp(expr[,fmt]) Возвращает expr, преобразованное к временной метке с использованием необязательного форматирования.
to_unix_timestamp(expr[,fmt]) Возвращает метку времени в expr в виде метки времени UNIX.
to_utc_timestamp(expr, часовой пояс) Возвращает метку времени на UTC для метки времени expr на timezone.
trunc(expr, fmt) Возвращает дату, часть которой усечена до единицы времени, указанной с помощью модели формата fmt.
try_add(expr1, expr2) Возвращает сумму expr1 и expr2, или NULL в случае ошибки.
try_divide(дивиденды, делитель) Возвращает значение dividend, поделенное на divisor, или значение NULL, если divisor равно 0.
try_multiply(множетель, множимое) Возвращает multiplier, умноженное на multiplicand,или NULL при переполнении.
try_subtract(expr1, expr2) Возвращает результат вычитания expr2 из expr1 или NULL при переполнении.
try_to_timestamp(expr[,fmt]) Возвращает результат приведения expr к временной метке с использованием необязательного форматирования или NULL в случае неудачи приведения.
unix_date(expr) Возвращает число дней, прошедших с 1970-01-01.
unix_micros(expr) Возвращает число микросекунд, прошедших с 1970-01-01 00:00:00 UTC.
unix_millis(expr) Возвращает число миллисекунд, прошедших с 1970-01-01 00:00:00 UTC.
unix_seconds(expr) Возвращает число секунд, прошедших с 1970-01-01 00:00:00 UTC.
unix_timestamp([expr[, fmt]]) Возвращает метку времени UNIX для текущего или указанного времени.
weekday(expr) Возвращает день недели для expr.
неделя_года(expr) Возвращает номер недели года для expr.
year(expr) Возвращает компонент года из expr.
window(expr, width[, step[, start]]) Создает скользящее окно на основе прыжка через выражение метки времени.
window_time(окно) Возвращает инклюзивное время окончания скользящего окна, созданного окном илифункциями session_window .

Геопространственные функции H3

Для получения информации о геопространственных функциях H3 см. раздел Геопространственные функции H3.

Функции кастинга и конструкторы

См. сведения о приведении между типами в разделе cast "Функция " и try_cast "Функция".

Функция Описание
array([expr [, ...]]) Возвращает массив с элементами в expr.
bigint(expr) Приведение значения expr к BIGINT.
binary(expr) Преобразует значение expr в BINARY.
boolean(expr) Приведение expr к BOOLEAN.
cast(тип EXPR AS) Приводит значение expr к типу данных type.
expr :: тип Приводит значение expr к типу данных type.
date(expr) Приведение значения expr к DATE.
decimal(expr) Приведение значения expr к DECIMAL.
double(expr) Приведение значения expr к DOUBLE.
float(expr) Приведение значения expr к FLOAT.
int(expr) Приведение значения expr к INTEGER.
make_date(год,месяц,день) Создает дату на основе полей year, month и day.
make_dt_interval([дни[, часы[, минуты[, секунды]]]]) Создает интервал времени дня на основе days, hours, mins и secs.
make_interval(годы, месяцы, недели, дни, часы, минуты, сек) Создает интервал из years, months, weeks, days, hours, mins и secs.
make_timestamp(год,месяц,день,час,мин,сек[,часовой пояс]) Создает метку времени на основе полей year, month, day, hour, min, sec и timezone.
make_ym_interval([годы[, месяцы]]) Создает интервал год-месяц из years и months.
map([{key1, value1} [, ...]]) Создает карту с указанными парами "ключ-значение".
named_struct({name1, val1} [, ...]) Создает структуру с указанными именами полей и значениями.
smallint(expr) Приведение значения expr к SMALLINT.
string(expr) Приведение значения expr к STRING.
struct(expr1 [, ...]) Создает STRUCT с указанными значениями полей.
tinyint(expr) Приведение expr к TINYINT.
timestamp(expr) Приведение expr к TIMESTAMP.
to_char(expr, fmt) Возвращает приведение expr к STRING с использованием форматирования fmt.
to_date(expr[,fmt]) Возвращает значение expr, приведенное к дате, с применением необязательного форматирования.
to_number(expr, fmt) Возвращает результат приведения expr к типу DECIMAL с использованием форматирования fmt.
to_timestamp(expr[,fmt]) Возвращает expr, преобразованное к временной метке с использованием необязательного форматирования.
to_varchar(expr, fmt) Возвращает приведение expr к STRING с использованием форматирования fmt.
try_cast(тип EXPR AS) Приводит значение expr к типу данных type безопасным образом.
try_to_number(expr, fmt) Возвращает expr приведенным к DECIMAL с использованием форматирования fmt, или NULL, если expr недопустимо.

Функции CSV и Avro

Функция Описание
from_avro(avroBin, jsonSchema[, options]) Возвращает значение структуры на основе avroBin и jsonSchema.
from_csv(csvStr, схема[, параметры]) Возвращает значение структуры с использованием csvStr и schema.
schema_of_csv(csv[, параметры]) Возвращает схему строки CSV в формате DDL.
to_avro(expr[, options]) Возвращает двоичное значение в формате Avro для заданного значения структуры.
to_csv(expr[, options]) Возвращает строку CSV с указанным значением структуры.

Функции JSON

Функция Описание
jsonStr : jsonPath Возвращает поля, извлеченные из jsonStr.
from_json(jsonStr, schema[, options]) Возвращает значение структуры с использованием jsonStr и schema.
get_json_object(expr, path) Извлекает JSON объект из path.
json_array_length(jsonArray) Возвращает количество элементов в самом внешнем JSON массиве.
json_object_keys(jsonObject) Возвращает все ключи самого внешнего JSON объекта в виде массива.
json_tuple(jsonStr, path1 [, ...]) Возвращает несколько JSON объектов в качестве кортежа.
parse_json(jsonStr) Возвращает VARIANT значение из jsonStr.
schema_of_json(jsonStr[, options]) Возвращает схему JSON строки в формате DDL.
schema_of_json_agg(jsonStr[, options]) Возвращает объединенную схему JSON строк в группе в формате DDL.
to_json(expr[, options]) Возвращает строку JSON с STRUCT или VARIANT, указанными в expr.

Функции VARIANT

Функция Описание
variantExpr : jsonPath Возвращает поля, извлеченные из variantExpr с использованием пути JSON.
is_variant_null(variantExpr) Проверяет, является ли variantExpr закодированным с использованием VARIANT в качестве кодировки NULL.
parse_json(jsonStr) Возвращает VARIANT значение из jsonStr.
schema_of_variant(variantExpr) Возвращает схему выражения VARIANT в формате DDL.
схема_варианта_агг(variantExpr) Возвращает объединенную схему всех VARIANT значений в группе в формате DDL.
to_json(expr[, options]) Возвращает строку JSON с STRUCT или VARIANT, указанными в expr.
try_parse_json(jsonStr) Если возможно, возвращает значение из VARIANT в jsonStr. Если это невозможно, NULL возвращается.
try_variant_get(variantExpr,path,type) Извлекает значение типа type из variantExpr, указанного с path, или NULL, если невозможно привести к целевому типу.
variant_explode(входные данные) Возвращает набор строк, извлекая элементы из input.
variant_explode_outer(входные данные) Возвращает набор строк путем отмены вложения input с помощью внешней семантики.
variant_get(variantExpr,path,type) Извлекает значение типа type из variantExpr, указанного path.

Функции XPath и XML

Функция Описание
from_xml(xmlStr, schema[, options]) Возвращает значение структуры, проанализированное из xmlStr с помощью schema.
schema_of_xml(xmlStr[, параметры]) Возвращает схему XML строки в формате DDL.
xpath(xml, xpath) Возвращает значения в узлах xml, которые соответствуют xpath.
xpath_boolean(xml, xpath) Возвращает true, если выражение xpath имеет значение true, или если найден соответствующий узел в xml.
xpath_double(xml, xpath) DOUBLE Возвращает значение из XML-документа.
xpath_float(xml, xpath) FLOAT Возвращает значение из XML-документа.
xpath_int(xml, xpath) INTEGER Возвращает значение из XML-документа.
xpath_long(xml, xpath) BIGINT Возвращает значение из XML-документа.
xpath_number(xml, xpath) DOUBLE Возвращает значение из XML-документа.
xpath_short(xml, xpath) SHORT Возвращает значение из XML-документа.
xpath_string(xml, xpath) Возвращает содержимое первого XML-узла, соответствующего выражению XPath.

Функции ИИ

Функция Описание
ai_analyze_sentiment(содержимое) Возвращает эмоциональный настрой текста.
ai_classify(содержимое, метки) Классифицирует предоставленное содержимое в одну из предоставленных меток.
ai_extract(содержимое, метки) Извлекает сущности, указанные метками из заданного текста.
ai_fix_grammar(содержимое) Исправляет грамматические ошибки в заданном тексте.
ai_forecast(наблюдения, time_col) Экстраполирует данные временных рядов на будущее.
ai_gen(содержимое) Вызывает передовую генерирующую модель искусственного интеллекта из API моделей Databricks Foundation, чтобы ответить на предоставленный пользователем запрос.
ai_generate_text(prompt, modelName[, param1, value1] [...]) Устаревшая функция: возвращает текст, созданный выбранной крупной языковой моделью (LLM) на основе заданного запроса.
ai_mask(содержимое, метки) Маскирует указанные сущности в заданном тексте.
ai_query(endpointName, request, returnType) Вызывает существующую конечную точку обслуживания модели ИИ Мозаики, анализирует её ответ и возвращает его.
ai_similarity(strExpr1, strExpr2) Сравнивает две строки и вычисляет семантический показатель сходства.
ai_summarize(content[, max_words]) Создает сводку заданного текста.
ai_translate(содержимое, to_lang) Преобразует текст на указанный целевой язык.
vector_search(индекс, запрос, num_results) Выполните запрос к индексу Mosaic AI Vector Search с помощью SQL.

Функции чтения

Функция Описание
read_files(path, [optionKey => optionValue] [, ...]) Считывает файлы данных в облачном хранилище и возвращает его в табличном формате.
read_kafka([optionKey => optionValue] [, ...]) Считывает записи из кластера Apache Kafka и возвращает его в табличном формате.
read_kinesis({parameter => value} [, ...]) Возвращает таблицу с записями, считываемыми из Kinesis из одного или нескольких потоков.
read_pubsub([параметр => значение] [, ...]) Табличная функция для чтения записей из Pub/Sub из темы.
read_pulsar({optionKey => optionValue} [, ...]) Возвращает таблицу с записями, считываемыми из Pulsar.
read_state_metadata(путь) Возвращает таблицу со строками, представляющими метаданные состояния потокового запроса.
read_statestore(path [, option_key => option_value] [...]) Возвращает записи из хранилища состояний потоковых запросов.

Прочие функции

Функция Описание
assert_true(expr) Возвращает ошибку, если expr не является истинным.
CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] КОНЕЦ Возвращает resN для первого optN, равного expr, или def, если совпадений нет.
CASE { WHEN COND1 THEN RES1 } [...] [ELSE def] КОНЕЦ Возвращает resN для первого condN, который оценивается как true, или def, если ничего не найдено.
cloud_files_state( { TABLE(таблица) | контрольная точка } ) Возвращает состояние файла на уровне источника автозагрузчика cloud_files.
coalesce(expr1, expr2 [, ...]) Возвращает первый аргумент, отличный от NULL.
колляции() Возвращает список доступных параметров сортировки.
cube (expr1 [, ...]) Создает многомерный куб, используя указанные столбцы выражений.
current_catalog() Возвращает текущий каталог.
current_database() Возвращает текущую схему.
current_metastore() Возвращает текущий идентификатор хранилища метаданных каталога Unity.
current_recipient(ключ) Возвращает свойство для текущего получателя в представлении, к которому предоставлен общий доступ через Delta Sharing.
current_schema() Возвращает текущую схему.
current_user() Возвращает пользователя, который выполняет инструкцию.
current_version() Возвращает текущую версию Azure Databricks.
decode(expr, { key, value } [, ...] [,defValue]) Возвращает значение, соответствующее ключу.
elt(index, expr1 [, ...] ) Возвращает n-е выражение.
equal_null(expr1, expr2) Возвращает значение true, если expr1 равно expr2 или оба выражения имеют значение NULL или false в противном случае.
event_log( { TABLE(таблица) | pipeline_id } ) Возвращает таблицу истории обновлений для материализованного представления, потоковой таблицы или конвейера.
greatest(expr1, expr2 [, ...]) Возвращает максимальное значение из всех аргументов, пропуская значения NULL.
grouping(col) Указывает, представляет ли указанный столбец в GROUPING SET, ROLLUPили CUBE промежуточный итог.
grouping_id([col1 [, ...]]) Возвращает уровень группировки для набора столбцов.
hash(expr1 [, ...]) Возвращает хэшированное значение аргументов.
hll_sketch_estimate(expr) Оценивает количество уникальных значений, собранных в эскизе HyperLogLog.
hll_union(expr1, expr2 [, allowDifferentLgConfigK]) Объединяет два эскиза HyperLogLog.
http_request({parm => expr} [, ...]) Выполняет HTTP-запрос с помощью определенного HTTP-подключения.
java_method(класс, метод[, arg1 [, ...]]) Вызывает метод с использованием рефлексии.
if(cond, expr1, expr2) Возвращает expr1, если cond имеет значение true. В противном случае возвращает expr2.
iff(cond, expr1, expr2) Возвращает expr1, если cond имеет значение true. В противном случае возвращает expr2.
ifnull(expr1, expr2) Возвращает expr2, если expr1 имеет значение NULL. В противном случае возвращает expr1.
длина_блока_входного_файла() Возвращает длину считанного блока в байтах.
input_file_block_start() Возвращает начальное смещение в байтах считываемого блока.
input_file_name() Возвращает имя считываемого файла или пустую строку, если оно недоступно.
is_account_group_member(группа) Возвращает значение true, если текущий пользователь является членом группы на уровне учетной записи.
is_member(группа) Возвращает значение true, если текущий пользователь является членом группы на уровне рабочей области.
isnull(expr) Возвращает true, если expr равно NULL.
isnotnull(expr) Возвращает true, если expr не равно NULL.
least(expr1, expr2 [, ...]) Возвращает минимальное значение из всех аргументов, пропуская значения NULL.
list_secrets([scopeStr]) Возвращает ключи из всех или одной из областей, просмотр которых пользователь авторизован в секретной службе Databricks.
luhn_check(numStr) Возвращаетсяtrue, если numStr выполняется проверка алгоритма Luhn.
monotonically_increasing_id() - монотонно возрастающий идентификатор Возвращает монотонно увеличивающиеся 64-разрядные целые числа.
nullif(expr1, expr2) Возвращает NULL, если expr1 равно expr2. В противном случае возвращает expr1.
nvl(expr1, expr2) Возвращает expr2, если expr1 имеет значение NULL. В противном случае возвращает expr1.
nvl2(expr1, expr2, expr3) Возвращает expr2, если expr1 не равно NULL. В противном случае возвращает expr3.
raise_error(expr) Создает исключение с сообщением expr.
range(конец) Возвращает таблицу значений в указанном диапазоне.
диапазон(начало, конец [, шаг [, числоЧастей]]) Возвращает таблицу значений в указанном диапазоне.
reflect(class, method[, arg1 [, ...]]) Вызывает метод с использованием рефлексии.
secret(scope, key) Извлекает значение секретного ключа с заданным scope и key из службы секретов Databricks.
session_user() Возвращает пользователя, подключенного к Azure Databricks.
spark_partition_id() Возвращает текущий идентификатор раздела.
sql_keywords() Возвращает набор ключевых слов SQL в Azure Databricks.
stack(numRows, expr1 [, ...]) Разделяет expr1, …, exprN на numRows строк.
table_changes(table_str, начало [, конец]) Возвращает журнал изменений таблицы Delta Lake с включенным каналом данных об изменениях.
try_reflect(класс, метод[, arg1 [, ...]]) Вызывает метод с использованием рефлексии, возвращая NULL, если метод не удаётся.
try_secret(область, ключ) Извлекает значение секрета с заданным scope и key из секретной службы Databricks или NULL если ключ не удается извлечь.
typeof(expr) Возвращает строку типа в формате DDL для типа данных expr.
user() Возвращает пользователя, который выполняет инструкцию.
uuid() Возвращает строку универсального уникального идентификатора (UUID).
window(expr, width[, step [, start]]) Создает скользящее окно на основе прыжка через выражение метки времени.
xxhash64(expr1 [, ...]) Возвращает хэшированное 64-битное значение аргументов.
version() Возвращает версию Apache Spark.