Функции для работы со строками
Функции для поиска в строках и для замены в строках описаны отдельно.
Приведённая ниже документация сгенерирована из системной таблицы system.functions.
CRC32
Добавлено в версии: v20.1
Вычисляет контрольную сумму CRC32 для строки, используя полином CRC-32-IEEE 802.3 и начальное значение 0xffffffff (реализация zlib).
Синтаксис
Аргументы
s— строка, для которой нужно вычислить CRC32.String
Возвращаемое значение
Возвращает контрольную сумму CRC32 для строки. UInt32
Примеры
Пример использования
CRC32IEEE
Появилась в версии: v20.1
Вычисляет контрольную сумму CRC32 строки с использованием полинома CRC-32-IEEE 802.3.
Синтаксис
Аргументы
s— строка, для которой вычисляется CRC32.String
Возвращаемое значение
Возвращает контрольную сумму CRC32 строки. UInt32
Примеры
Пример использования
CRC64
Добавлено в версии v20.1
Вычисляет контрольную сумму CRC64 для строки с использованием полинома CRC-64-ECMA.
Синтаксис
Аргументы
s— строка, для которой вычисляется CRC64.String
Возвращаемое значение
Возвращает CRC64-контрольную сумму строки. UInt64
Примеры
Пример использования
appendTrailingCharIfAbsent
Появилась в версии: v1.1
Добавляет символ c к строке s, если s непустая и не оканчивается символом c.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает строку s с добавленным символом c, если s не заканчивается на c. String
Примеры
Пример использования
ascii
Введена в версии: v22.11
Возвращает кодовую точку ASCII первого символа строки s в виде Int32.
Синтаксис
Аргументы
s— строковый аргумент.String
Возвращаемое значение
Возвращает ASCII-кодовую точку первого символа. Если s — пустая строка, результат — 0. Если первый символ не является символом ASCII или не входит в диапазон дополнения Latin-1 в UTF-16, результат не определён. Int32
Примеры
Пример использования
base32Decode
Введена в версии: v25.6
Декодирует строку в формате Base32 (RFC 4648). Если строка не является корректной строкой в кодировке Base32, генерируется исключение.
Синтаксис
Аргументы
encoded— столбец типа String или константа.String
Возвращаемое значение
Возвращает строку с декодированным значением аргумента. String
Примеры
Пример использования
base32Encode
Добавлена в версии: v25.6
Кодирует строку в формате Base32.
Синтаксис
Аргументы
plaintext— Исходный текст для кодирования.String
Возвращаемое значение
Возвращает строку, содержащую закодированное значение аргумента. String или FixedString
Примеры
Пример использования
base58Decode
Добавлена в версии v22.7
Декодирует строку в формате Base58. Если строка не является корректной Base58-последовательностью, генерируется исключение.
Синтаксис
Аргументы
encoded— Строковый столбец или строковая константа для декодирования.String
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. String
Примеры
Пример использования
base58Encode
Добавлена в версии: v22.7
Кодирует строку в формате Base58.
Синтаксис
Аргументы
plaintext— Исходный текст для кодирования.String
Возвращаемое значение
Возвращает строку, содержащую закодированное значение аргумента. String
Примеры
Пример использования
base64Decode
Добавлена в версии: v18.16
Декодирует строку из представления Base64 в соответствии с RFC 4648. В случае ошибки выбрасывает исключение.
Синтаксис
Псевдонимы: FROM_BASE64
Аргументы
encoded— Столбец строкового типа или строковая константа для декодирования. Если строка не является корректной строкой в формате Base64, генерируется исключение.String
Возвращаемое значение
Возвращает декодированную строку. String
Примеры
Пример использования
base64Encode
Введена в версии: v18.16
Кодирует строку в кодировку Base64 в соответствии с RFC 4648.
Синтаксис
Псевдонимы: TO_BASE64
Аргументы
plaintext— Столбец или константа с исходным текстом для декодирования.String
Возвращаемое значение
Возвращает строку, содержащую закодированное значение аргумента. String
Примеры
Пример использования
base64URLDecode
Добавлена в: v24.6
Декодирует строку из представления Base64, используя URL-безопасный алфавит в соответствии с RFC 4648. В случае ошибки вызывает исключение.
Синтаксис
Аргументы
encoded— Столбец или константа строкового типа для декодирования. Если строка не является корректной Base64-последовательностью, генерируется исключение.String
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. String
Примеры
Пример использования
base64URLEncode
Добавлена в версии: v18.16
Кодирует строку в представление Base64 (RFC 4648) с URL‑безопасным алфавитом.
Синтаксис
Аргументы
plaintext— Столбец или константа с открытым текстом для кодирования.String
Возвращаемое значение
Возвращает строку, содержащую закодированное значение аргумента. String
Примеры
Пример использования
basename
Добавлена в: v20.1
Извлекает часть строки после последнего слеша (/) или обратного слеша (). Эта функция часто используется для извлечения имени файла из пути.
Синтаксис
Аргументы
expr— строковое выражение. Обратные косые черты должны быть экранированы.String
Возвращаемое значение
Возвращает часть входной строки после последнего прямого или обратного слеша. Если входная строка оканчивается прямым или обратным слешем, функция возвращает пустую строку. Если в строке нет прямых или обратных слешей, возвращается исходная строка. String
Примеры
Извлечение имени файла из Unix-пути
Извлечь имя файла из пути в Windows
Строка без символов разделителей пути
byteHammingDistance
Добавлена в версии: v23.9
Вычисляет расстояние Хэмминга между двумя строками байт.
Синтаксис
Псевдонимы: mismatches
Аргументы
Возвращаемое значение
Возвращает расстояние Хэмминга между двумя строками. UInt64
Примеры
Пример использования
compareSubstrings
Появилась в версии: v25.2
Лексикографически сравнивает две строки.
Синтаксис
Аргументы
s1— Первая строка для сравнения.Strings2— Вторая строка для сравнения.Strings1_offset— Позиция (нумерация с нуля) вs1, с которой начинается сравнение.UInt*s2_offset— Позиция (нумерация с нуля) вs2, с которой начинается сравнение.UInt*num_bytes— Максимальное число байт, сравниваемых в обеих строках. Еслиs1_offset(илиs2_offset) +num_bytesпревышает длину входной строки,num_bytesбудет соответственно уменьшено.UInt*
Возвращаемое значение
Возвращает:
-1, еслиs1[s1_offset:s1_offset+num_bytes] <s2[s2_offset:s2_offset+num_bytes].0, еслиs1[s1_offset:s1_offset+num_bytes] =s2[s2_offset:s2_offset+num_bytes].1, еслиs1[s1_offset:s1_offset+num_bytes] >s2[s2_offset:s2_offset+num_bytes].Int8
Примеры
Пример использования
concat
Введена в версии: v1.1
Объединяет переданные аргументы.
Аргументы, которые не имеют типов String или FixedString, преобразуются в строки с использованием их стандартной сериализации.
Поскольку это снижает производительность, не рекомендуется использовать аргументы других типов, отличных от String/FixedString.
Синтаксис
Аргументы
s1, s2, ...— Произвольное количество значений любого типа.Any
Возвращаемое значение
Возвращает строку, созданную путем конкатенации аргументов. Если хотя бы один из аргументов равен NULL, функция возвращает NULL. Если аргументы отсутствуют, возвращается пустая строка. Nullable(String)
Примеры
Конкатенация строк
Конкатенация чисел
concatAssumeInjective
Добавлена в: v1.1
Аналог функции concat, но предполагает, что concat(s1, s2, ...) → sn является инъективной,
то есть возвращает разные результаты для разных аргументов.
Может использоваться для оптимизации GROUP BY.
Синтаксис
Аргументы
s1, s2, ...— Произвольное количество значений любых типов.StringилиFixedString
Возвращаемое значение
Возвращает строку, полученную конкатенацией аргументов. Если любое из значений аргументов равно NULL, функция возвращает NULL. Если не передано ни одного аргумента, возвращается пустая строка. String
Примеры
Оптимизация GROUP BY
concatWithSeparator
Добавлена в: v22.12
Объединяет переданные строки, вставляя между ними указанный разделитель.
Синтаксис
Псевдонимы: concat_ws
Аргументы
sep— используемый разделитель.const Stringилиconst FixedStringexp1, exp2, ...— выражения для конкатенации. Аргументы, тип которых неStringилиFixedString, преобразуются в строки с использованием их стандартной сериализации. Поскольку это снижает производительность, не рекомендуется использовать аргументы типов, отличных от String/FixedString.Any
Возвращаемое значение
Возвращает строку, созданную конкатенацией аргументов. Если какое-либо из значений аргументов равно NULL, функция возвращает NULL. String
Примеры
Пример использования
concatWithSeparatorAssumeInjective
Введена в: v22.12
Аналог concatWithSeparator, но предполагает, что concatWithSeparator(sep[,exp1, exp2, ... ]) → result является инъективной.
Функция считается инъективной, если она возвращает разные результаты для разных аргументов.
Может использоваться для оптимизации GROUP BY.
Синтаксис
Аргументы
sep— разделитель, который будет использоваться.const Stringилиconst FixedStringexp1, exp2, ...— выражения для конкатенации. Аргументы, которые не имеют типаStringилиFixedString, преобразуются в строки с использованием их сериализации по умолчанию. Поскольку это снижает производительность, не рекомендуется использовать аргументы типов, отличных от String/FixedString.StringилиFixedString
Возвращаемое значение
Возвращает строку, полученную конкатенацией аргументов. Если какое-либо из значений аргументов равно NULL, функция возвращает NULL. String
Примеры
Пример использования
conv
Впервые появилась в версии v1.1
Преобразует числа между различными системами счисления.
Функция преобразует число из одной системы счисления в другую. Поддерживаются основания систем счисления от 2 до 36. Для оснований больше 10 используются буквы A–Z (независимо от регистра) для представления цифр 10–35.
Эта функция совместима с функцией MySQL CONV().
Синтаксис
Аргументы
number— Число для преобразования. Может иметь строковый или числовой тип. -from_base— Исходная система счисления (2–36). Должно быть целым числом. -to_base— Целевая система счисления (2–36). Должно быть целым числом.
Возвращаемое значение
Строковое представление числа в целевой системе счисления.
Примеры
Преобразование десятичного числа в двоичное
Преобразование шестнадцатеричных чисел в десятичные
Преобразование с отрицательным числом
Преобразовать двоичное число в восьмеричное
convertCharset
Появилась в версии: v1.1
Возвращает строку s, преобразованную из кодировки from в кодировку to.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает строку s, преобразованную из кодировки from в кодировку to. String
Примеры
Пример использования
damerauLevenshteinDistance
Введена в версии: v24.1
Вычисляет расстояние Дамерау — Левенштейна между двумя байтовыми строками.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает расстояние Дамерау — Левенштейна между двумя строками. UInt64
Примеры
Пример использования
decodeHTMLComponent
Введена в версии v23.9
Преобразует HTML-сущности в строке в соответствующие символы.
Синтаксис
Аргументы
s— строка, содержащая HTML-сущности для декодирования.String
Возвращаемое значение
Возвращает строку с декодированными HTML-сущностями. String
Примеры
Пример использования
decodeXMLComponent
Впервые появилось в версии: v21.2
Декодирует XML-сущности в строке в соответствующие символы.
Синтаксис
Аргументы
s— строка с XML-сущностями для декодирования.String
Возвращаемое значение
Возвращает переданную строку с декодированными XML-сущностями. String
Примеры
Пример использования
editDistance
Добавлена в версии v23.9
Вычисляет редакционное расстояние между двумя байтовыми строками.
Синтаксис
Псевдонимы: levenshteinDistance
Аргументы
Возвращаемое значение
Возвращает расстояние редактирования между двумя строками. UInt64
Примеры
Пример использования
editDistanceUTF8
Добавлена в версии: v24.6
Вычисляет редакционное расстояние между двумя строками в кодировке UTF-8.
Синтаксис
Псевдонимы: levenshteinDistanceUTF8
Аргументы
Возвращаемое значение
Возвращает редакционное расстояние между двумя строками UTF-8. UInt64
Примеры
Пример использования
encodeXMLComponent
Появилась в версии: v21.1
Экранирует символы для помещения строки в текстовый узел или атрибут XML.
Синтаксис
Аргументы
s— строка, которую нужно экранировать.String
Возвращаемое значение
Возвращает экранированную строку. String
Примеры
Пример использования
endsWith
Добавлена в версии: v1.1
Проверяет, оканчивается ли строка указанным суффиксом.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s заканчивается на suffix, иначе 0. UInt8
Примеры
Пример использования
endsWithCaseInsensitive
Добавлена в версии: v25.9
Проверяет, оканчивается ли строка заданным суффиксом без учета регистра.
Синтаксис
Аргументы
s— Строка, которую нужно проверить.Stringsuffix— Суффикс, проверяемый без учета регистра.String
Возвращаемое значение
Возвращает 1, если s оканчивается на суффикс suffix без учета регистра, иначе 0. UInt8
Примеры
Пример использования
endsWithCaseInsensitiveUTF8
Добавлена в: v25.9
Возвращает, оканчивается ли строка s на suffix без учета регистра.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не выбрасывается, и результат не определен.
Синтаксис
Аргументы
s— строка для проверки.Stringsuffix— суффикс, сравнение с которым выполняется без учета регистра.String
Возвращаемое значение
Возвращает 1, если s оканчивается на suffix (сравнение без учета регистра), иначе 0. UInt8
Примеры
Пример использования
endsWithUTF8
Добавлена в: v23.8
Возвращает, оканчивается ли строка s суффиксом suffix.
Предполагается, что строка содержит текст в корректной кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется и результат не определён.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s заканчивается на suffix, иначе 0. UInt8
Примеры
Пример использования
extractTextFromHTML
Введена в: v21.3
Извлекает текстовое содержимое из HTML или XHTML.
Эта функция удаляет HTML-теги, комментарии и элементы script/style, оставляя только текст. Она выполняет:
- Удаление всех HTML/XML-тегов
- Удаление комментариев (
<!-- -->) - Удаление элементов script и style вместе с их содержимым
- Обработку секций CDATA (копируются дословно)
- Корректную обработку и нормализацию пробельных символов
Примечание: HTML-сущности не декодируются и при необходимости должны обрабатываться отдельной функцией.
Синтаксис
Аргументы
html— строка, содержащая HTML‑код, из которого нужно извлечь текст.String
Возвращаемое значение
Возвращает извлечённый текст с нормализованными пробелами. String
Примеры
Пример использования
firstLine
Введена в версии: v23.7
Возвращает первую строку многострочной строки.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает первую строку входной строки или всю строку, если в ней нет разделителей строк. String
Примеры
Пример использования
idnaDecode
Появилась в версии v24.1
Возвращает Unicode-представление (UTF-8) доменного имени (алгоритм ToUnicode) в соответствии с механизмом Internationalized Domain Names in Applications (IDNA).
В случае ошибки (например, из-за некорректного входного значения) возвращается исходная строка.
Обратите внимание, что повторное применение idnaEncode() и idnaDecode() не обязательно возвращает исходную строку из-за нормализации регистра.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает представление входной строки в кодировке Unicode (UTF-8) в соответствии с механизмом IDNA для данного значения. String
Примеры
Пример использования
idnaEncode
Введена в версии v24.1
Возвращает ASCII-представление (алгоритм ToASCII) доменного имени в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). Входная строка должна быть закодирована в UTF и преобразуема в ASCII-строку, иначе будет выброшено исключение.
Не выполняется декодирование percent-encoding и удаление табуляций, пробелов или управляющих символов.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает ASCII-представление входной строки в соответствии с механизмом IDNA для входного значения. String
Примеры
Пример использования
initcap
Впервые появилась в: v23.7
Преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний. Слова представляют собой последовательности буквенно-цифровых символов, разделённые небуквенно-цифровыми символами.
Поскольку initcap преобразует в верхний регистр только первую букву каждого слова, вы можете наблюдать неожиданное поведение для слов, содержащих апострофы или заглавные буквы.
Это известное поведение, и в настоящее время нет планов его менять.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает s, в которой первая буква каждого слова преобразована в верхний регистр. String
Примеры
Пример использования
Пример известного поведения при работе со словами, содержащими апострофы или прописные буквы
initcapUTF8
Появилась в версии: v23.7
Как и initcap, initcapUTF8 преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определён.
Эта функция не определяет язык, поэтому, например, для турецкого результата может быть недостаточно корректным (i/İ vs. i/I). Если длина байтовой последовательности UTF-8 отличается для верхнего и нижнего регистра одной и той же кодовой точки, результат для этой кодовой точки может быть некорректным.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает s, где первая буква каждого слова преобразована в верхний регистр. String
Примеры
Пример использования
isValidASCII
Появилась в версии: v25.9
Возвращает 1, если входной String или FixedString содержит только байты в диапазоне ASCII (0x00–0x7F), в противном случае — 0.
Синтаксис
Псевдонимы: isASCII
Аргументы
- Нет.
Возвращаемое значение
Примеры
isValidASCII
isValidUTF8
Добавлена в: v20.1
Проверяет, представляет ли набор байтов корректно закодированный в UTF-8 текст.
Синтаксис
Аргументы
s— Строка для проверки на корректность кодирования в UTF-8.String
Возвращаемое значение
Возвращает 1, если набор байтов представляет собой корректный текст в кодировке UTF-8, иначе 0. UInt8
Примеры
Пример использования
jaroSimilarity
Введена в версии: v24.1
Вычисляет метрику сходства Яро между двумя байтовыми строками.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает коэффициент сходства Джаро для двух строк. Float64
Примеры
Пример использования
jaroWinklerSimilarity
Добавлена в версии: v24.1
Вычисляет сходство по метрике Джаро — Винклера между двумя строками байтов.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает коэффициент сходства Джаро — Уинклера между двумя строками. Float64
Примеры
Пример использования
left
Добавлена в версии: v22.1
Возвращает подстроку из строки s с указанным смещением offset, считая от левого края.
Синтаксис
Аргументы
s— Строка, из которой извлекается подстрока.StringилиFixedStringoffset— Число байт смещения.(U)Int*
Возвращаемое значение
Возвращает:
- Для положительного
offset— подстрокуsдлинойoffsetбайт, начиная с начала строки. - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, начиная с начала строки. - Пустую строку, если
lengthравно0.String
Примеры
Положительное смещение
Отрицательное смещение
leftPad
Впервые появился в: v21.8
Дополняет строку слева пробелами или указанной строкой (повторяя её при необходимости), пока результирующая строка не достигнет заданного значения length.
Синтаксис
Псевдонимы: lpad
Аргументы
string— Входная строка, которую необходимо дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, то входная строка укорачивается доlengthсимволов.(U)Int*pad_string— Необязательный параметр. Строка, которой дополняется входная строка. Если параметр не указан, входная строка дополняется пробелами.String
Возвращаемое значение
Возвращает строку заданной длины, дополненную слева. String
Примеры
Пример использования
leftPadUTF8
Добавлено в: v21.8
Дополняет строку в UTF-8 слева пробелами или указанной строкой (при необходимости — многократно) до тех пор, пока результирующая строка не достигнет заданной длины.
В отличие от leftPad, где длина строки измеряется в байтах, здесь длина строки измеряется в кодовых точках.
Синтаксис
Аргументы
string— Входная строка, которую необходимо дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, входная строка укорачивается доlengthсимволов.(U)Int*pad_string— Необязательный параметр. Строка, используемая для дополнения входной строки. Если параметр не задан, входная строка дополняется пробелами.String
Возвращаемое значение
Возвращает строку, дополненную слева до заданной длины. String
Примеры
Пример использования
leftUTF8
Добавлена в: v22.1
Возвращает подстроку строки s в кодировке UTF‑8 с заданным смещением offset, начиная слева.
Синтаксис
Аргументы
s— Строка в кодировке UTF-8, из которой извлекается подстрока.StringилиFixedStringoffset— Количество байт смещения.(U)Int*
Возвращаемое значение
Возвращает:
- Для положительного
offset— подстрокуsдлинойoffsetбайт, начиная с начала строки.\n" - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, начиная с начала строки.\n" - Пустую строку, если
lengthравно 0.String
Примеры
Положительное смещение
Отрицательное смещение
lengthUTF8
Добавлена в: v1.1
Возвращает длину строки в кодовых точках Unicode, а не в байтах или символах. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат становится неопределённым.
Синтаксис
Псевдонимы: CHAR_LENGTH, CHARACTER_LENGTH
Аргументы
s— строка с корректно закодированным в UTF-8 текстом.String
Возвращаемое значение
Длина строки s в кодовых точках Unicode. UInt64
Примеры
Пример использования
lower
Добавлена в версии: v1.1
Преобразует ASCII-строку в нижний регистр.
Синтаксис
Псевдонимы: lcase
Аргументы
s— строка, которую нужно преобразовать в нижний регистр.String
Возвращаемое значение
Возвращает строку s в нижнем регистре. String
Примеры
Пример использования
lowerUTF8
Добавлена в версии: v1.1
Преобразует строку в нижний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушается, исключение не генерируется, а результат не определён.
Синтаксис
Аргументы
input— входная строка для преобразования в нижний регистр.String
Возвращаемое значение
Возвращает строку в нижнем регистре. String
Примеры
Первый
normalizeUTF8NFC
Впервые появилась в версии: v21.11
Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFC.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку в нормализованной форме NFC для UTF-8. String
Примеры
Пример использования
normalizeUTF8NFD
Добавлено в версии: v21.11
Нормализует строку в кодировке UTF-8 в соответствии с нормальной формой NFD.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку UTF-8 в нормализованной форме NFD. String
Примеры
Пример использования
normalizeUTF8NFKC
Введена в версии: v21.11
Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKC.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку, нормализованную в форме NFKC, в кодировке UTF-8. String
Примеры
Пример использования
normalizeUTF8NFKD
Появилась в версии: v21.11
Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKD.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку в кодировке UTF-8 в нормализованной форме NFKD. String
Примеры
Пример использования
punycodeDecode
Добавлена в: v24.1
Возвращает текст в кодировке UTF-8 из строки, закодированной в формате Punycode. Если передана строка, не являющаяся корректной строкой в кодировке Punycode, генерируется исключение.
Синтаксис
Аргументы
s— строка, закодированная в Punycode.String
Возвращаемое значение
Возвращает исходную строку для входного значения. String
Примеры
Пример использования
punycodeEncode
Добавлено в: v24.1
Возвращает представление строки в формате Punycode. Строка должна быть закодирована в UTF-8, иначе поведение не определено.
Синтаксис
Аргументы
s— входное значение.String
Возвращаемое значение
Возвращает представление входного значения в кодировке Punycode. String
Примеры
Пример использования
regexpExtract
Появилась в версии: v23.2
Извлекает первую подстроку в haystack, которая соответствует шаблону регулярного выражения и относится к указанному индексу группы в регулярном выражении.
Синтаксис
Псевдонимы: REGEXP_EXTRACT
Аргументы
haystack— Строка, в которой выполняется поиск по регулярному выражению.Stringpattern— Строка, шаблон регулярного выражения.patternможет содержать несколько групп регулярного выражения,indexуказывает, какую группу извлечь. Индекс 0 означает совпадение со всем регулярным выражением.const Stringindex— Необязательный аргумент. Целое число больше или равно 0, по умолчанию — 1. Определяет, какую группу регулярного выражения извлечь.(U)Int*
Возвращаемое значение
Возвращает строку с найденным совпадением. String
Примеры
Пример использования
repeat
Добавлена в версии: v20.1
Повторяет строку указанное количество раз.
Синтаксис
Аргументы
Возвращаемое значение
Строка, содержащая строку s, повторённую n раз. Если n — отрицательное число, функция возвращает пустую строку. String
Примеры
Пример использования
reverseUTF8
Добавлена в версии: v1.1
Разворачивает последовательность кодовых точек Unicode в строке. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, и результат не определён.
Синтаксис
Аргументы
s— строка, содержащая текст в корректной кодировке UTF-8.String
Возвращаемое значение
Возвращает строку с последовательностью кодовых точек Unicode в обратном порядке. String
Примеры
Пример использования
right
Впервые представлена в версии v22.1
Возвращает подстроку строки s с заданным смещением offset, считая от правого края.
Синтаксис
Аргументы
s— Строка, для которой вычисляется подстрока.StringилиFixedStringoffset— Смещение в байтах.(U)Int*
Возвращаемое значение
Возвращает:
- Для положительного
offset— подстрокуsдлинойoffsetбайт, начиная с правого конца строки. - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, начиная с правого конца строки. - Пустую строку, если
lengthравно0.String
Примеры
Положительное смещение
Отрицательное смещение
rightPad
Введена в: v21.8
Дополняет строку справа пробелами или указанной строкой (при необходимости — несколько раз), пока результирующая строка не достигнет заданной длины length.
Синтаксис
Псевдонимы: rpad
Аргументы
string— Входная строка, которую нужно дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, то входная строка укорачивается доlengthсимволов.(U)Int*pad_string— Необязательный параметр. Строка, которой дополняется входная строка. Если параметр не задан, входная строка дополняется пробелами.String
Возвращаемое значение
Возвращает строку заданной длины, дополненную справа. String
Примеры
Пример использования
rightPadUTF8
Добавлена в: v21.8
Дополняет строку справа пробелами или указанной строкой (при необходимости многократно) до тех пор, пока результирующая строка не достигнет заданной длины.
В отличие от rightPad, который измеряет длину строки в байтах, здесь длина строки измеряется в кодовых точках.
Синтаксис
Аргументы
string— Входная строка, которую необходимо дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, то входная строка сокращается доlengthсимволов.(U)Int*pad_string— Необязательный параметр. Строка, которой дополняется входная строка. Если параметр не указан, входная строка дополняется пробелами.String
Возвращаемое значение
Возвращает строку заданной длины, дополненную справа. String
Примеры
Пример использования
rightUTF8
Появилась в версии: v22.1
Возвращает подстроку строки в кодировке UTF-8 s с указанным offset, отсчитываемым справа.
Синтаксис
Аргументы
s— Строка в кодировке UTF-8, из которой вычисляется подстрока.StringилиFixedStringoffset— Количество байт смещения.(U)Int*
Возвращаемое значение
Возвращает:
- Для положительного
offset— подстрокуsдлинойoffsetбайт, начиная с конца строки. - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, начиная с конца строки. - Пустую строку, если
lengthравен0.String
Примеры
Положительное смещение
Отрицательное смещение
soundex
Добавлена в версии v23.4
Возвращает код Soundex для строки.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает код Soundex входной строки. String
Примеры
Пример использования
space
Добавлено в версии: v23.5
Возвращает строку, состоящую из символа пробела ( ), повторённого указанное количество раз.
Синтаксис
Аргументы
n— Количество повторов пробела.(U)Int*
Возвращаемое значение
Возвращает строку, состоящую из пробела, повторённого n раз. Если n <= 0, функция возвращает пустую строку. String
Примеры
Пример использования
sparseGrams
Добавлена в: v25.5
Находит все подстроки заданной строки длиной не менее n,
для которых хэши (n-1)-грамм на концах подстроки
строго больше хэшей любых (n-1)-грамм внутри подстроки.
Использует CRC32 в качестве хеш-функции.
Синтаксис
Аргументы
s— Входная строка.Stringmin_ngram_length— Необязательный параметр. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимальное значение — 3.UInt*max_ngram_length— Необязательный параметр. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Не должно быть меньшеmin_ngram_length.UInt*
Возвращаемое значение
Возвращает массив выбранных подстрок. Array(String)
Примеры
Пример использования
sparseGramsHashes
Добавлена в версии: v25.5
Находит хеши всех подстрок заданной строки длиной не менее n,
для которых хеши (n-1)-грамм на границах подстроки
строго больше, чем хеши любых (n-1)-грамм внутри подстроки.
В качестве хеш-функции используется CRC32.
Синтаксис
Аргументы
s— входная строка.Stringmin_ngram_length— необязательный параметр. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимальное значение — 3.UInt*max_ngram_length— необязательный параметр. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Должно быть не меньшеmin_ngram_length.UInt*
Возвращаемое значение
Возвращает массив хешей CRC32 выбранных подстрок. Array(UInt32)
Примеры
Пример использования
sparseGramsHashesUTF8
Введена в версии v25.5
Находит хеши всех подстрок заданной строки в кодировке UTF-8, имеющих длину не менее n, для которых хеши (n-1)-грамм на границах подстроки строго больше хешей любых (n-1)-грамм внутри подстроки.
Ожидает строку в кодировке UTF-8, вызывает исключение в случае некорректной последовательности в кодировке UTF-8.
Использует CRC32 в качестве хеш-функции.
Синтаксис
Аргументы
s— Входная строка.Stringmin_ngram_length— Необязательный параметр. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимальное значение — 3.UInt*max_ngram_length— Необязательный параметр. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Не должно быть меньшеmin_ngram_length.UInt*
Возвращаемое значение
Возвращает массив хешей CRC32 выбранных подстрок в кодировке UTF-8. Array(UInt32)
Примеры
Пример использования
sparseGramsUTF8
Добавлена в версии: v25.5
Находит все подстроки заданной строки в кодировке UTF-8 длиной не менее n, для которых хеши (n-1)-грамм на границах подстроки строго больше, чем хеши любых (n-1)-грамм внутри подстроки.
Ожидает строку в кодировке UTF-8; при некорректной последовательности UTF-8 выбрасывает исключение.
Использует CRC32 в качестве функции хеширования.
Синтаксис
Аргументы
s— Входная строка.Stringmin_ngram_length— Необязательный параметр. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимальное значение — 3.UInt*max_ngram_length— Необязательный параметр. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Не должно быть меньшеmin_ngram_length.UInt*
Возвращаемое значение
Возвращает массив выбранных подстрок в кодировке UTF-8. Array(String)
Примеры
Пример использования
startsWith
Впервые появился в: v1.1
Проверяет, начинается ли строка с указанной строки.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s начинается с prefix, иначе 0. UInt8
Примеры
Пример использования
startsWithCaseInsensitive
Появилась в версии: v25.9
Проверяет, начинается ли строка с указанной строки без учета регистра.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s начинается с prefix без учета регистра, иначе 0. UInt8
Примеры
Пример использования
startsWithCaseInsensitiveUTF8
Появилась в версии: v25.9
Проверяет, начинается ли строка с указанного префикса без учета регистра. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не выбрасывается, и результат не определён.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s начинается с prefix без учета регистра, иначе 0. UInt8
Примеры
Пример использования
startsWithUTF8
Добавлено в: v23.8
Проверяет, начинается ли строка с указанного префикса. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не выбрасывается, и результат не определён.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если s начинается с prefix, иначе 0. UInt8
Примеры
Пример использования
stringBytesEntropy
Добавлена в версии: v25.6
Вычисляет энтропию Шеннона распределения байтов в строке.
Синтаксис
Аргументы
s— строка для анализа.String
Возвращаемое значение
Возвращает энтропию Шеннона по распределению байтов в строке. Float64
Примеры
Пример использования
stringBytesUniq
Впервые появилось в версии: v25.6
Подсчитывает количество уникальных байтов в строке.
Синтаксис
Аргументы
s— строка для анализа.String
Возвращаемое значение
Возвращает количество различных байтов в строке. UInt16
Примеры
Пример использования
stringJaccardIndex
Добавлена в версии v23.11
Вычисляет индекс похожести Жаккара между двумя байтовыми строками.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает индекс сходства Жаккара между двумя строками. Float64
Примеры
Пример использования
stringJaccardIndexUTF8
Добавлена в версии v23.11
Аналог stringJaccardIndex, но для строк в кодировке UTF-8.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает индекс Жаккара сходства между двумя строками UTF-8. Float64
Примеры
Пример использования
substring
Добавлена в: v1.1
Возвращает подстроку строки s, начинающуюся с указанного байтового индекса offset.
Отсчёт байтов начинается с 1 по следующей логике:
- Если
offsetравен0, возвращается пустая строка. - Если
offsetотрицателен, подстрока начинается наposсимволов от конца строки, а не от её начала.
Необязательный аргумент length задаёт максимальное количество байт в возвращаемой подстроке.
Синтаксис
Псевдонимы: byteSlice, mid, substr
Аргументы
s— Строка, из которой извлекается подстрока.StringилиFixedStringилиEnumoffset— Начальная позиция подстроки вs.(U)Int*length— Необязательный параметр. Максимальная длина подстроки.(U)Int*
Возвращаемое значение
Возвращает подстроку s длиной length байт, начиная с индекса offset. String
Примеры
Базовое использование
substringIndex
Добавлена в версии v23.7
Возвращает подстроку строки s, расположенную до count-го вхождения разделителя delim, как в Spark или MySQL.
Синтаксис
Псевдонимы: SUBSTRING_INDEX
Аргументы
s— Строка, из которой извлекается подстрока.Stringdelim— Символ, по которому выполняется разделение.Stringcount— Количество вхождений разделителя, которое нужно учесть перед извлечением подстроки. Еслиcountположителен, возвращается всё слева от последнего разделителя (считая слева). Еслиcountотрицателен, возвращается всё справа от последнего разделителя (считая справа).UIntилиInt
Возвращаемое значение
Возвращает подстроку из s до count-го вхождения delim. String
Примеры
Пример использования
substringIndexUTF8
Впервые появилась в: v23.7
Возвращает подстроку s до count вхождений разделителя delim при работе с кодовыми точками Unicode.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат неопределён.
Синтаксис
Аргументы
s— Строка, из которой извлекается подстрока.Stringdelim— Символ-разделитель.Stringcount— Количество вхождений разделителя, которые нужно учесть перед извлечением подстроки. Еслиcountположительно, возвращается всё слева от последнего (то естьcount-го) разделителя, считая слева направо. Еслиcountотрицательно, возвращается всё справа от последнего (то есть|count|-го) разделителя, считая справа налево.UIntилиInt
Возвращаемое значение
Возвращает подстроку из s до count-го вхождения delim. String
Примеры
Пример с UTF-8
substringUTF8
Введена в: v1.1
Возвращает подстроку строки s, начинающуюся с указанного байтового индекса offset (по юникодным кодовым точкам).
Отсчёт байтов начинается с 1 по следующей логике:
- Если
offsetравен0, возвращается пустая строка. - Если
offsetотрицателен, подстрока начинается наposсимволов от конца строки, а не от начала.
Необязательный аргумент length задаёт максимальное количество байт, которое может иметь возвращаемая подстрока.
Эта функция предполагает, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён.
Синтаксис
Аргументы
s— Строка, из которой извлекается подстрока.StringилиFixedStringилиEnumoffset— Начальная позиция подстроки вs.IntилиUIntlength— Максимальная длина подстроки. Необязательный параметр.IntилиUInt
Возвращаемое значение
Возвращает подстроку s длиной length байт, начиная с индекса offset. String
Примеры
Пример использования
toValidUTF8
Добавлена в версии v20.1
Преобразует строку в корректную кодировку UTF-8, заменяя любые некорректные символы в кодировке UTF-8 символом замены � (U+FFFD).
Если обнаруживается несколько подряд идущих некорректных символов, они объединяются в один символ замены.
Синтаксис
Аргументы
s— Любой набор байтов, представленный объектом строкового типа данных String.String
Возвращаемое значение
Возвращает корректную строку в кодировке UTF-8. String
Примеры
Пример использования
trimBoth
Добавлена в версии: v20.1
Удаляет указанные символы в начале и конце строки. По умолчанию удаляет распространённые пробельные (ASCII) символы.
Синтаксис
Псевдонимы: trim
Аргументы
s— Строка, из которой нужно удалить символы.Stringtrim_characters— Необязательный параметр. Символы для удаления. Если не указано, удаляются стандартные пробельные символы.String
Возвращаемое значение
Возвращает строку с указанными символами, удалёнными по краям. String
Примеры
Пример использования
trimLeft
Добавлена в версии: v20.1
Удаляет заданные символы с начала строки. По умолчанию удаляет распространённые пробельные символы (ASCII).
Синтаксис
Псевдонимы: ltrim
Аргументы
input— Строка для обрезки.Stringtrim_characters— Необязательный параметр. Символы для обрезки. Если не указаны, удаляются стандартные пробельные символы.String
Возвращаемое значение
Возвращает строку с удалёнными слева указанными символами. String
Примеры
Пример использования
trimRight
Добавлена в: v20.1
Удаляет указанные символы с конца строки. По умолчанию удаляет распространённые пробельные символы (ASCII).
Синтаксис
Псевдонимы: rtrim
Аргументы
s— Строка для обрезания.Stringtrim_characters— Необязательный набор символов для обрезания. Если не указан, удаляются обычные пробельные символы.String
Возвращаемое значение
Возвращает строку, у которой указанные символы удалены справа. String
Примеры
Пример использования
tryBase32Decode
Функция впервые появилась в версии v25.6.
Принимает строку и декодирует её, используя схему кодирования Base32.
Синтаксис
Аргументы
encoded— Столбец или константа типа String для декодирования. Если строка не является корректной Base32-строкой, в случае ошибки возвращается пустая строка.String
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. String
Примеры
Пример использования
tryBase58Decode
Появилась в: v22.10
Как base58Decode, но в случае ошибки возвращает пустую строку.
Синтаксис
Аргументы
encoded— столбец или константа типа String. Если строка не является корректной в кодировке Base58, в случае ошибки возвращается пустая строка.String
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. String
Примеры
Пример использования
tryBase64Decode
Добавлена в версии: v18.16
Аналог функции base64Decode, но в случае ошибки возвращает пустую строку.
Синтаксис
Аргументы
encoded— Столбец или константа типа String для декодирования. Если строка не является корректной Base64-строкой, в случае ошибки возвращается пустая строка.String
Возвращаемое значение
Возвращает строку с декодированным значением аргумента. String
Примеры
Пример использования
tryBase64URLDecode
Добавлена в версии: v18.16
Аналогична base64URLDecode, но в случае ошибки возвращает пустую строку.
Синтаксис
Аргументы
encoded— Столбец или константа строкового типа для декодирования. Если строка не является корректной строкой в кодировке Base64, в случае ошибки возвращается пустая строка.String
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. String
Примеры
Пример использования
tryIdnaEncode
Появилась в версии: v24.1
Возвращает представление доменного имени в Unicode (UTF-8) (алгоритм ToUnicode) в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). В случае ошибки вместо выброса исключения возвращает пустую строку.
Синтаксис
Аргументы
s— входная строка.String
Возвращаемое значение
Возвращает ASCII-представление входной строки в соответствии с механизмом IDNA для этого значения или пустую строку, если входные данные некорректны. String
Примеры
Пример использования
tryPunycodeDecode
Добавлена в версии v24.1
Аналог punycodeDecode, но возвращает пустую строку, если на вход передана некорректная строка в кодировке Punycode.
Синтаксис
Аргументы
s— строка в кодировке Punycode.String
Возвращаемое значение
Возвращает исходный текст входного значения или пустую строку, если входное значение некорректно. String
Примеры
Пример использования
upper
Появилась в версии: v1.1
Преобразует латинские символы в кодировке ASCII в строке в верхний регистр.
Синтаксис
Псевдонимы: ucase
Аргументы
s— строка, которую нужно преобразовать в верхний регистр.String
Возвращаемое значение
Возвращает строку s, преобразованную в верхний регистр. String
Примеры
Пример использования
upperUTF8
Введена в версии: v1.1
Преобразует строку в верхний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение не выполняется, исключение не генерируется, а результат не определён.
Эта функция не определяет язык, поэтому, например, для турецкого результат может быть не совсем корректным (i/İ vs. i/I).
Если длина последовательности байт UTF-8 различается для верхнего и нижнего регистра кодовой точки (таких, как ẞ и ß), результат для этой кодовой точки может быть неверным.
Синтаксис
Аргументы
s— строка.String
Возвращаемое значение
Значение строкового типа данных. String
Примеры
Пример использования