← Cloudflare Pipelines / pipelines / sql-reference / scalar-functions
Строковые функции
Реализации скалярных функций Cloudflare Pipelines основаны на Apache DataFusion ↗ (через Arroyo ↗) и эта документация составлена на основе справочника функций DataFusion.
ascii
Возвращает код ASCII первого символа строки.
ascii(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: chr
bit_length
Возвращает длину строки в битах.
bit_length(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: длина, octet_length
btrim
Удаляет указанную строку обрезки из начала и конца строки. Если строка обрезки не указана, из начала и конца входной строки удаляются все пробельные символы.
btrim(str[, trim_str])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- trim_str: Строковое выражение, обрезаемое в начале и в конце входной строки. Может быть константой, столбцом или функцией, а также любой комбинацией арифметических операторов. По умолчанию используются пробельные символы.
Связанные функции: ltrim, rtrim
Псевдонимы
- trim
char_length
Псевдоним длина.
character_length
Псевдоним длина.
concat
Объединяет несколько строк.
concat(str[, ..., str_n])Аргументы
- str: Строковое выражение для объединения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- str_n: Следующий строковый столбец или строковый литерал для объединения.
Связанные функции: concat_ws
concat_ws
Объединяет несколько строк с использованием указанного разделителя.
concat(separator, str[, ..., str_n])Аргументы
- separator: Разделитель, вставляемый между объединяемыми строками.
- str: Строковое выражение для объединения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- str_n: Следующий строковый столбец или строковый литерал для объединения.
Связанные функции: concat
chr
Возвращает символ с указанным кодом ASCII или Unicode.
chr(expression)Аргументы
- выражение: Выражение, содержащее код ASCII или Unicode, над которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией арифметических или строковых операторов.
Связанные функции: ascii
ends_with
Проверяет, заканчивается ли строка указанной подстрокой.
ends_with(str, substr)Аргументы
- str: Строковое выражение для проверки. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- substr: Подстрока для проверки.
initcap
Делает заглавным первый символ каждого слова во входной строке. Слова разделяются не буквенно-цифровыми символами.
initcap(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: lower, upper
instr
Псевдоним strpos.
Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- substr: Выражение подстроки для поиска. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
left
Возвращает заданное количество символов с начала строки.
left(str, n)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- n: Количество возвращаемых символов.
Связанные функции: right
length
Возвращает количество символов в строке.
length(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Псевдонимы
- char_length
- character_length
Связанные функции: bit_length, octet_length
lower
Преобразует строку в нижний регистр.
lower(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: initcap, upper
lpad
Дополняет строку слева другой строкой до заданной длины.
lpad(str, n[, padding_str])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- n: Длина строки, до которой выполняется заполнение.
- padding_str: Строковое выражение, используемое для заполнения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов. По умолчанию используется пробел.
Связанные функции: rpad
ltrim
Удаляет указанную строку обрезки из начала строки. Если строка обрезки не указана, из начала входной строки удаляются все пробельные символы.
ltrim(str[, trim_str])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- trim_str: Строковое выражение, обрезаемое в начале входной строки. Может быть константой, столбцом или функцией, а также любой комбинацией арифметических операторов. По умолчанию используются пробельные символы.
Связанные функции: btrim, rtrim
octet_length
Возвращает длину строки в байтах.
octet_length(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: bit_length, длина
repeat
Возвращает строку, в которой входная строка повторена заданное количество раз.
repeat(str, n)Аргументы
- str: Строковое выражение для повторения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- n: Количество повторений входной строки.
replace
Заменяет все вхождения указанной подстроки в строке на новую подстроку.
replace(str, substr, replacement)Аргументы
- str: Строковое выражение для повторения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- substr: Выражение подстроки для замены во входной строке. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- replacement: Выражение подстроки замены. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
reverse
Изменяет порядок символов в строке на обратный.
reverse(str)Аргументы
- str: Строковое выражение для повторения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
right
Возвращает заданное количество символов с конца строки.
right(str, n)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- n: Количество возвращаемых символов.
Связанные функции: left
rpad
Дополняет строку справа другой строкой до заданной длины.
rpad(str, n[, padding_str])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- n: Длина строки, до которой выполняется заполнение.
- padding_str: Строковое выражение, используемое для заполнения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов. По умолчанию используется пробел.
Связанные функции: lpad
rtrim
Удаляет указанную строку обрезки из конца строки. Если строка обрезки не указана, из конца входной строки удаляются все пробельные символы.
rtrim(str[, trim_str])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- trim_str: Строковое выражение, обрезаемое в конце входной строки. Может быть константой, столбцом или функцией, а также любой комбинацией арифметических операторов. По умолчанию используются пробельные символы.
Связанные функции: btrim, ltrim
split_part
Разбивает строку по заданному разделителю и возвращает подстроку в указанной позиции.
split_part(str, delimiter, pos)Аргументы
- str: Строковое выражение для разделения. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- delimiter: Строка или символ, по которому выполняется разделение.
- pos: Позиция части, которую нужно вернуть.
starts_with
Проверяет, начинается ли строка с указанной подстроки.
starts_with(str, substr)Аргументы
- str: Строковое выражение для проверки. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- substr: Подстрока для проверки.
strpos
Возвращает начальную позицию указанной подстроки в строке. Отсчёт позиций начинается с 1. Если подстрока в строке не найдена, функция возвращает 0.
strpos(str, substr)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- substr: Выражение подстроки для поиска. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Псевдонимы
- instr
substr
Извлекает подстроку заданного количества символов, начиная с определённой позиции в строке.
substr(str, start_pos[, length])Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- start_pos: Позиция символа, с которой начинается подстрока. Первый символ в строке имеет позицию 1.
- длина: Количество символов для извлечения. Если не указано, возвращается остаток строки после начальной позиции.
translate
Заменяет символы в строке на указанные символы перевода.
translate(str, chars, translation)- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
- chars: Символы для замены.
- замена: Символы замены. Символы замены заменяют только символы, находящиеся в той же позиции в chars строка.
to_hex
Преобразует целое число в шестнадцатеричную строку.
to_hex(int)Аргументы
- int: Целочисленное выражение для преобразования. Может быть константой, столбцом или функцией, а также любой комбинацией арифметических операторов.
trim
Псевдоним btrim.
upper
Преобразует строку в верхний регистр.
upper(str)Аргументы
- str: Строковое выражение, с которым выполняется операция. Может быть константой, столбцом или функцией, а также любой комбинацией строковых операторов.
Связанные функции: initcap, lower
uuid
Возвращает строковое значение UUID v4, уникальное для каждой строки.
uuid()overlay
Возвращает строку, в которой начиная с указанной позиции и на заданную длину символов выполнена замена на другую строку.
Например, overlay('Txxxxas' placing 'hom' from 2 for 4) → Thomas
overlay(str PLACING substr FROM pos [FOR count])Аргументы
- str: Строковое выражение, с которым выполняется операция.
- substr: строка для замены части str.
- pos: начальная позиция замены в str.
- count: количество символов, заменяемых начиная с начальной позиции str. Если не указано, используется длина substr.
levenshtein
Возвращает расстояние Левенштейна между двумя заданными строками.
Например, levenshtein('kitten', 'sitting') = 3
levenshtein(str1, str2)Аргументы
- str1: Строковое выражение для вычисления расстояния Левенштейна с str2.
- str2: Строковое выражение для вычисления расстояния Левенштейна с str1.
substr_index
Возвращает подстроку из str перед count вхождениями разделителя delim.
Если count положительно, возвращается всё, что находится слева от последнего разделителя (при подсчёте слева).
Если count отрицательно, возвращается всё, что находится справа от последнего разделителя (при подсчёте справа).
Например, substr_index('www.apache.org', '.', 1) = www, substr_index('www.apache.org', '.', -1) = org
substr_index(str, delim, count)Аргументы
- str: Строковое выражение, с которым выполняется операция.
- delim: строка, которую нужно найти в str для его разделения.
- count: Количество вхождений разделителя для поиска. Может быть как положительным, так и отрицательным числом.
find_in_set
Возвращает значение в диапазоне от 1 до N, если строка str входит в список строк strlist, состоящий из N подстрок.
Например, find_in_set('b', 'a,b,c,d') = 2
find_in_set(str, strlist)Аргументы
- str: Строковое выражение для поиска в strlist.
- strlist: Список строк представляет собой строку, состоящую из подстрок, разделённых символами ",".