Функции для работы со строками
Функции для поиска в строках и для замены в строках описаны отдельно.
Приведённая ниже документация сгенерирована из системной таблицы 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
Возвращаемое значение
Возвращает строку, содержащую декодированное значение аргумента. 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
Возвращаемое значение
Возвращает строку типа String, полученную конкатенацией аргументов. Если хотя бы один из аргументов равен 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— входная строка.Stringfrom— исходная кодировка символов.Stringto— целевая кодировка символов.String
Возвращаемое значение
Возвращает строку 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
Проверяет, оканчивается ли строка на указанный суффикс без учета регистра.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 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
Возвращает представление доменного имени в Юникоде (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 отличается для верхнего и нижнего регистра одной и той же точки кода (code point), результат для этого символа может быть некорректным.
Синтаксис
Аргументы
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
Вычисляет Jaro similarity между двумя байтовыми строками.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает меру сходства Джаро между двумя строками. 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
Дополняет строку в кодировке UTF8 слева пробелами или указанной строкой (при необходимости несколько раз), пока результирующая строка не достигнет заданной длины.
В отличие от 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
Возвращает длину строки в кодовых точках Юникода, а не в байтах или символах. Предполагается, что строка содержит корректный текст в кодировке 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
Примеры
first
normalizeUTF8NFC
Добавлена в: v21.11
Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFC.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку в нормальной форме NFC (NFC-normalized) для UTF-8. String
Примеры
Пример использования
normalizeUTF8NFD
Добавлена в версии v21.11
Нормализует строку в кодировке UTF-8 в соответствии с нормальной формой NFD.
Синтаксис
Аргументы
str— входная строка в кодировке UTF-8.String
Возвращаемое значение
Возвращает строку в нормализованной форме NFD для UTF-8. 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
Возвращаемое значение
Возвращает строку в нормализованной форме NFKD исходной UTF-8-строки. 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.
Синтаксис
Аргументы
s1— первая входная строка в кодировке UTF8.Strings2— вторая входная строка в кодировке UTF8.String
Возвращаемое значение
Возвращает индекс сходства Жаккара между двумя строками UTF8. 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 code points.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не выбрасывается, и результат не определён.
Синтаксис
Аргументы
s— Строка, из которой извлекается подстрока.Stringdelim— Символ, по которому выполняется разбиение.Stringcount— Количество вхождений разделителя, которые нужно учесть перед извлечением подстроки. Еслиcountположительно, возвращается всё слева от последнего разделителя (при подсчёте слева). Еслиcountотрицательно, возвращается всё справа от последнего разделителя (при подсчёте справа).UIntилиInt
Возвращаемое значение
Возвращает подстроку s до count вхождений delim. String
Примеры
Пример UTF-8
substringUTF8
Введено в: v1.1
Возвращает подстроку строки s, которая начинается с указанного байтового смещения offset по кодовым точкам Unicode.
Отсчёт байтов начинается с 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— строковый столбец или константа для декодирования. Если строка не является корректной Base32-строкой, в случае ошибки возвращается пустая строка.String
Возвращаемое значение
Возвращает строку с декодированным значением аргумента. String
Примеры
Пример использования
tryBase58Decode
Добавлена в версии v22.10
Аналог base58Decode, но в случае ошибки возвращает пустую строку.
Синтаксис
Аргументы
encoded— строковый столбец или константа. Если строка не является корректной строкой в кодировке 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
Возвращаемое значение
Значение типа данных String (строка). String
Примеры
Пример использования