Приведённая ниже документация сгенерирована на основе системной таблицы
system.functions.CRC32
Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC32 для строки, используя полином CRC-32-IEEE 802.3 и начальное значение0xffffffff (реализация zlib).
Синтаксис
s— строкаString, для которой вычисляется CRC32.String
UInt32
Примеры
Пример использования
Query
Response
CRC32IEEE
Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC32 для строки с использованием полинома CRC-32-IEEE 802.3. Синтаксисs— строка, для которой вычисляется CRC32.String
UInt32
Примеры
Пример использования
Query
Response
CRC64
Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC64 для строки с использованием полинома CRC-64-ECMA. Синтаксисs— строка, для которой вычисляется CRC64.String
UInt64
Примеры
Пример использования
Query
Response
appendTrailingCharIfAbsent
Добавленный в: v1.1.0 Добавляет символc в строку s, если s непустая и не заканчивается символом c.
Синтаксис
s с добавленным символом c, если s не заканчивается на c. String
Примеры
Пример использования
Query
Response
ascii
Добавленный в: v22.11.0 Возвращает ASCII-код первого символа строкиs в виде Int32.
Синтаксис
s— Входная строка.String
s — пустая строка, результат равен 0. Если первый символ не является символом ASCII или не входит в диапазон Latin-1 Supplement UTF-16, результат не определён. Int32
Примеры
Пример использования
Query
Response
base32Decode
Добавленный в: v25.6.0 Декодирует строку Base32 (RFC 4648). Если строка не является корректной строкой в кодировке Base32, генерируется исключение. Синтаксисencoded— столбец типа String или константа.String
String
Примеры
Пример использования
Query
Response
base32Encode
Добавленный в: v25.6.0 Кодирует строку в Base32. Синтаксисplaintext— Открытый текст, который нужно закодировать.String
String или FixedString
Примеры
Пример использования
Query
Response
base58Decode
Добавленный в: v22.7.0 Декодирует строку в формате Base58. Если строка не является корректной строкой Base58, генерируется исключение. Необязательный второй аргументexpected_size можно указать, чтобы задать обязательный размер результата декодирования: входная строка,
которая декодируется не ровно в такое количество байтов, отклоняется, и функция генерирует исключение (или
возвращает пустую строку для tryBase58Decode). Это требование применяется к любому размеру, а 0 означает
отсутствие требования.
Синтаксис
encoded— Столбец типа String или константа для декодирования.Stringexpected_size— Необязательно. Требуемый размер результата декодирования в байтах: входные данные, которые декодируются в любой другой размер, отклоняются. Значение0не накладывает требований.UInt8, UInt16, UInt32, or UInt64
String
Примеры
Пример использования
Query
Response
base58Encode
Добавленный в: v22.7.0 Кодирует строку в Base58. Синтаксисplaintext— Открытый текст, который нужно закодировать.String
String
Примеры
Пример использования
Query
Response
base64Decode
Добавленный в: v18.16.0 Декодирует строку из представления Base64 в соответствии с RFC 4648. Начиная с версии 26.7 символы-пробелы space, tab (\t), line feed (\n), carriage return (\r) и form feed (\f) во входных данных игнорируются (в более ранних версиях ввод, содержащий их, отклонялся). Vertical tab (\v) и любые другие символы, не входящие в алфавит Base64, отклоняются.
В случае ошибки генерирует исключение.
Синтаксис
FROM_BASE64
Аргументы
encoded— столбец типа String или константа для декодирования. Если строка некорректно закодирована в Base64, генерируется исключение.String
String
Примеры
Пример использования
Query
Response
base64Encode
Добавленный в: v18.16.0 Кодирует строку в формате Base64 в соответствии с RFC 4648. СинтаксисTO_BASE64
Аргументы
plaintext— столбец или константа с открытым текстом для декодирования.String
String
Примеры
Пример использования
Query
Response
base64URLDecode
Добавленный в: v24.6.0 Декодирует строку из представления Base64 с использованием URL-безопасного алфавита в соответствии с RFC 4648. Стандартный алфавит (+ и /) также принимается при декодировании.
Начиная с версии 26.7, символы-пробелы во входных данных — пробел, табуляция (\t), перевод строки (\n), возврат каретки (\r) и перевод страницы (\f) — игнорируются (в более ранних версиях ввод, содержащий их, отклонялся). Вертикальная табуляция (\v) и любые другие символы, не входящие в алфавит Base64, отклоняются.
При ошибке генерирует исключение.
Синтаксис
encoded— столбец типа String или константа для кодирования. Если строка закодирована в Base64 некорректно, будет сгенерировано исключение.String
String
Примеры
Пример использования
Query
Response
base64URLEncode
Добавленный в: v18.16.0 Кодирует строку в представлении Base64 (RFC 4648), используя URL-безопасный алфавит. Синтаксисplaintext— столбец или константа с открытым текстом для кодирования.String
String
Примеры
Пример использования
Query
Response
basename
Добавленный в: v20.1.0 Извлекает конечную часть строки после последнего символа прямой или обратной косой черты. Эта функция часто используется для извлечения имени файла из пути. Синтаксисexpr— Строковое выражение. Обратные косые черты должны быть экранированы.String
String
Примеры
Извлечение имени файла из пути Unix
Query
Response
Query
Response
Query
Response
byteHammingDistance
Добавленный в: v23.9.0 Вычисляет расстояние Хэмминга между двумя байтовыми строками. Синтаксисmismatches
Аргументы
Возвращаемое значение
Возвращает расстояние Хэмминга между двумя строками. UInt64
Примеры
Пример использования
Query
Response
caseFoldUTF8
Добавленный в: v26.3.0 Применяет свёртку регистра Unicode к UTF-8-строке, преобразуя её в нормализованную форму, аналогичную нижнему регистру и подходящую для регистронезависимых сравнений. Применяет стандартную свёртку регистра Unicode. Сохраняет символы совместимости, на которые свёртка регистра не влияет (например, римские цифры, числа в кружках), однако обратите внимание, что некоторые лигатуры, такие какffi, всё равно раскладываются, поскольку свёртка регистра Unicode сама по себе их разворачивает.
Синтаксис
str— входная строка в кодировке UTF-8.String
String
Примеры
Базовый пример свёртки регистра
Query
Response
compareSubstrings
Добавленный в: v25.2.0 Сравнивает две строки в лексикографическом порядке. Синтаксис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
Query
Response
concat
Добавленный в: v1.1.0 Объединяет указанные аргументы. Аргументы, не относящиеся к типамString или FixedString, преобразуются в строки с использованием сериализации по умолчанию.
Поскольку это снижает производительность, использовать аргументы, отличные от String/FixedString, не рекомендуется.
Синтаксис
s1, s2, ...— Любое количество значений произвольного типа.Any
NULL, функция возвращает NULL. Если аргументы отсутствуют, возвращается пустая строка. Nullable(String)
Примеры
Конкатенация строк
Query
Response
Query
Response
concatAssumeInjective
Добавленный в: v1.1.0 Аналогичноconcat, но предполагается, что concat(s1, s2, ...) → sn — инъективная функция,
то есть для разных аргументов она возвращает разные результаты.
Может использоваться для оптимизации GROUP BY.
Синтаксис
s1, s2, ...— Любое количество значений произвольного типа.StringилиFixedString
NULL, функция возвращает NULL. Если аргументы не переданы, возвращается пустая строка. String
Примеры
Оптимизация GROUP BY
Query
Response
concatWithSeparator
Добавленный в: v22.12.0 Объединяет указанные строки, используя заданный разделитель. Синтаксисconcat_ws
Аргументы
sep— Разделитель, который будет использоваться.const Stringилиconst FixedStringexp1, exp2, ...— Выражения для объединения. Аргументы, не имеющие типStringилиFixedString, преобразуются в строки с использованием сериализации по умолчанию. Поскольку это снижает производительность, использовать аргументы не типаString/FixedStringне рекомендуется.Any
NULL, функция возвращает NULL. String
Примеры
Пример использования
Query
Response
concatWithSeparatorAssumeInjective
Добавленный в: v22.12.0 КакconcatWithSeparator, но предполагает, что concatWithSeparator(sep[,exp1, exp2, ... ]) → result инъективна.
Функция называется инъективной, если она возвращает разные результаты для разных аргументов.
Может использоваться для оптимизации GROUP BY.
Синтаксис
sep— Используемый разделитель.const Stringorconst FixedStringexp1, exp2, ...— Выражения для объединения. Аргументы типа, отличного отStringилиFixedString, преобразуются в строки с использованием сериализации по умолчанию. Поскольку это снижает производительность, использовать аргументы не типаString/FixedStringне рекомендуется.StringorFixedString
String, полученную объединением аргументов. Если значение любого из аргументов равно NULL, функция возвращает NULL. String
Примеры
Пример использования
Query
Response
conv
Добавленный в: v25.10.0 Преобразует числа между различными системами счисления. Функция преобразует число из одной системы счисления в другую. Поддерживаются системы счисления от 2 до 36. Для систем счисления с основанием больше 10 для представления цифр 10–35 используются буквы A-Z (регистронезависимый поиск). Эта функция совместима с функцией CONV() в MySQL. Синтаксисnumber— Число, которое нужно преобразовать. Может быть строкой или числовым типом. -from_base— Исходное основание системы счисления (2-36). Должно быть целым числом. -to_base— Целевое основание системы счисления (2-36). Должно быть целым числом.
Query
Response
Query
Response
Query
Response
Query
Response
convertCharset
Добавленный в: v1.1.0 Возвращает строкуs, преобразованную из кодировки from в кодировку to.
Синтаксис
s— Входная строка.Stringfrom— Исходная кодировка символов.Stringto— Целевая кодировка символов.String
s, преобразованная из кодировки from в кодировку to. String
Примеры
Пример использования
Query
Response
damerauLevenshteinDistance
Добавленный в: v24.1.0 Вычисляет расстояние Дамерау — Левенштейна между двумя строками байтов. СинтаксисUInt64
Примеры
Пример использования
Query
Response
decodeHTMLComponent
Добавленный в: v23.9.0 Преобразует HTML-сущности в строке в соответствующие символы. Синтаксисs— строка, содержащая HTML-сущности для декодирования.String
String
Примеры
Пример использования
Query
Response
decodeXMLComponent
Добавленный в: v21.2.0 Декодирует XML-сущности в строке в соответствующие символы. Синтаксисs— Строка, содержащая XML-сущности, которые нужно декодировать.String
String
Примеры
Пример использования
Query
Response
editDistance
Добавленный в: v23.9.0 Вычисляет расстояние редактирования между двумя байтовыми строками. СинтаксисlevenshteinDistance
Аргументы
Возвращаемое значение
Возвращает расстояние редактирования между двумя строками. UInt64
Примеры
Пример использования
Query
Response
editDistanceUTF8
Добавленный в: v24.6.0 Вычисляет расстояние редактирования между двумя строками UTF-8. СинтаксисlevenshteinDistanceUTF8
Аргументы
Возвращаемое значение
Возвращает расстояние редактирования между двумя строками в кодировке UTF-8. UInt64
Примеры
Пример использования
Query
Response
encodeXMLComponent
Добавленный в: v21.1.0 Экранирует символы для вставки строки в текстовый узел XML или атрибут. Синтаксисs— строка для экранирования.String
String
Примеры
Пример использования
Query
Response
endsWith
Добавленный в: v1.1.0 Проверяет, оканчивается ли строка заданным суффиксом. Синтаксис1, если s оканчивается на suffix, в противном случае 0. UInt8
Примеры
Пример использования
Query
Response
endsWithCaseInsensitive
Добавленный в: v25.10.0 Проверяет, оканчивается ли строка указанным регистронезависимым суффиксом. Синтаксис1, если s заканчивается на регистронезависимый suffix, иначе 0. UInt8
Примеры
Пример использования
Query
Response
endsWithCaseInsensitiveUTF8
Добавленный в: v25.10.0 Возвращает, оканчивается ли строкаs на регистронезависимый суффикс suffix.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определен.
Синтаксис
1, если s оканчивается на регистронезависимый suffix, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
endsWithUTF8
Добавленный в: v23.8.0 Возвращает, оканчивается ли строкаs на suffix.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определён.
Синтаксис
1, если s оканчивается на suffix, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
extractTextFromHTML
Добавленный в: v21.3.0 Извлекает текстовое содержимое из HTML или XHTML. Эта функция удаляет HTML-теги, комментарии и элементы script/style, оставляя только текст. Она выполняет:- Удаление всех HTML/XML-тегов
- Удаление комментариев (
{/* */}) - Удаление элементов script и style вместе с их содержимым
- Обработку секций CDATA (копируются дословно)
- Корректную обработку и нормализацию пробельных символов
html—String, содержащая HTML-контент, из которого нужно извлечь текст.String
String
Примеры
Пример использования
Query
Response
firstLine
Добавленный в: v23.7.0 Возвращает первую строку из многострочной строки. Синтаксисs— Входная строка.String
String
Примеры
Пример использования
Query
Response
idnaDecode
Добавленный в: v24.1.0 Возвращает представление доменного имени в Unicode (UTF-8) (алгоритм ToUnicode) в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). В случае ошибки (например, если входная строка недопустима) возвращается исходная строка. Обратите внимание, что повторное применениеidnaEncode() и idnaDecode() не обязательно возвращает исходную строку из-за нормализации регистра.
Синтаксис
s— входная строка.String
String
Примеры
Пример использования
Query
Response
idnaEncode
Добавленный в: v24.1.0 Возвращает ASCII-представление (алгоритм ToASCII) доменного имени в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). Входная строка должна быть в кодировке UTF и допускать преобразование в ASCII-строку, в противном случае генерируется исключение.Процентное декодирование, а также удаление символов табуляции, пробелов или управляющих символов не выполняются.
s— Входная строка.String
String
Примеры
Пример использования
Query
Response
initcap
Добавленный в: v23.7.0 Преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний. Слова представляют собой последовательности буквенно-цифровых символов, разделённые небуквенно-цифровыми символами.Поскольку
initcap преобразует в верхний регистр только первую букву каждого слова, для слов, содержащих апострофы или заглавные буквы, возможен неожиданный результат.
Это известная особенность, и в настоящее время исправлять её не планируется.s— Входная строка.String
s, в которой первая буква каждого слова преобразуется в верхний регистр. String
Примеры
Пример использования
Query
Response
Query
Response
initcapUTF8
Добавленный в: v23.7.0 Как иinitcap, initcapUTF8 преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определён.
Эта функция не определяет язык, поэтому, например, для турецкого языка результат может быть не совсем корректным (i/İ vs. i/I).
Если длина последовательности байтов UTF-8 различается для верхнего и нижнего регистра кодовой точки, результат для этой кодовой точки может быть некорректным.
s— Входная строка.String
s, где первая буква каждого слова приведена к верхнему регистру. String
Примеры
Пример использования
Query
Response
isValidASCII
Добавленный в: v25.9.0 Возвращает 1, если входная строка типа String или FixedString содержит только байты ASCII (0x00–0x7F), в противном случае — 0. Оптимизировано для положительного случая (когда входные данные являются корректным ASCII). СинтаксисisASCII
Аргументы
- Отсутствуют.
Query
Response
isValidUTF8
Добавленный в: v20.1.0 Проверяет, является ли набор байтов корректным текстом в кодировке UTF-8. Синтаксисs— Строка, которую нужно проверить на корректность UTF-8.String
1, если набор байтов представляет собой корректный текст в кодировке UTF-8, в противном случае — 0. UInt8
Примеры
Пример использования
Query
Response
jaroSimilarity
Добавленный в: v24.1.0 Вычисляет меру сходства Джаро между двумя байтовыми строками. СинтаксисFloat64
Примеры
Пример использования
Query
Response
jaroWinklerSimilarity
Добавленный в: v24.1.0 Вычисляет меру сходства Джаро — Винклера между двумя байтовыми строками. СинтаксисFloat64
Примеры
Пример использования
Query
Response
left
Добавленный в: v22.1.0 Возвращает подстроку строкиs с указанным смещением offset, отсчитываемым слева.
Синтаксис
s— Строка, из которой извлекается подстрока.StringилиFixedStringoffset— Смещение в байтах.(U)Int*
- Для положительного
offset— подстроку строкиsдлинойoffsetбайт, начиная слева. - Для отрицательного
offset— подстроку строкиsдлинойlength(s) - |offset|байт, начиная слева. - Пустую строку, если
lengthравно0.String
Query
Response
Query
Response
leftPad
Добавленный в: v21.8.0 Дополняет строку слева пробелами или указанной строкой (при необходимости повторяя её), пока длина результирующей строки не достигнет указанного значенияlength.
Синтаксис
lpad
Аргументы
string— Входная строка, которую нужно дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, входная строка усекается доlengthсимволов.(U)Int*pad_string— Необязательно. Строка, используемая для дополнения входной строки. Если не указана, входная строка дополняется пробелами.String
String
Примеры
Пример использования
Query
Response
leftPadUTF8
Добавленный в: v21.8.0 Дополняет UTF8-строку слева пробелами или указанной строкой (при необходимости — многократно), пока итоговая строка не достигнет заданной длины. В отличие отleftPad, который измеряет длину строки в байтах, здесь длина строки измеряется в кодовых точках.
Синтаксис
string— Входная строка, которую нужно дополнить.Stringlength— Длина результирующей строки. Если это значение меньше длины входной строки, она укорачивается доlengthсимволов.(U)Int*pad_string— Необязательно. Строка, которой дополняется входная строка. Если не указана, входная строка дополняется пробелами.String
String
Примеры
Пример использования
Query
Response
leftUTF8
Добавленный в: v22.1.0 Возвращает подстроку UTF-8-кодированной строкиs с указанным смещением offset, отсчитываемым слева.
Синтаксис
s— Строка в кодировке UTF-8, из которой вычисляется подстрока.StringилиFixedStringoffset— Количество байтов смещения.(U)Int*
- Для положительного
offset— подстрокуsдлинойoffsetбайт, начиная с левой стороны строки.\n” - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, начиная с левой стороны строки.\n” - Пустую строку, если
lengthравен 0.String
Query
Response
Query
Response
lengthUTF8
Добавленный в: v1.1.0 Возвращает длину строки в кодовых точках Unicode, а не в байтах или символах. Чтобы вычислить длину строки в байтах, используйте функциюlength.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определён.
Синтаксис
CHARACTER_LENGTH, CHAR_LENGTH
Аргументы
s— строка, содержащая корректный текст в кодировке UTF-8.String
s в кодовых точках Unicode. UInt64
Примеры
Пример использования
Query
Response
lower
Добавленный в: v1.1.0 Преобразует строку ASCII в нижний регистр. Синтаксисlcase
Аргументы
s— Строка, которую нужно преобразовать в нижний регистр.String
s, преобразованную в нижний регистр. String
Примеры
Пример использования
Query
Response
lowerUTF8
Добавленный в: v1.1.0 Преобразует строку в нижний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, не сгенерировать исключение, а результат будет неопределённым. Синтаксисinput— Строка, которую нужно преобразовать в нижний регистр.String
String
Примеры
первый
Query
Response
naturalSortKey
Добавленный в: v26.3.0 Функция используется для естественной сортировки. СинтаксисNATURAL_SORT_KEY
Аргументы
s— строка, преобразуемая в ключ естественной сортировки.String
s. String
Примеры
Пример использования
Query
Response
normalizeUTF8NFC
Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFC. Синтаксисstr— входная строка в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
normalizeUTF8NFD
Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFD. Синтаксисstr— входная строка в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
normalizeUTF8NFKC
Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKC. Синтаксисstr— входная строка в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
normalizeUTF8NFKCCasefold
Добавленный в: v26.3.0 Нормализует строку UTF-8 в соответствии с формой нормализации NFKC_Casefold, которая применяет нормализацию NFKC, а затем свёртку регистра. Это полезно при регистронезависимом сопоставлении идентификаторов. Синтаксисstr— входная строка в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
normalizeUTF8NFKD
Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKD. Синтаксисstr— входная строка в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
punycodeDecode
Добавленный в: v24.1.0 Возвращает открытый текст в кодировке UTF-8 для строки, закодированной в Punycode. Если передана некорректная строка в кодировке Punycode, генерируется исключение. Синтаксисs— строка, закодированная в Punycode.String
String
Примеры
Пример использования
Query
Response
punycodeEncode
Добавленный в: v24.1.0 Возвращает строку в представлении Punycode. Строка должна быть закодирована в UTF-8, в противном случае поведение не определено. Синтаксисs— Входное значение.String
String
Примеры
Пример использования
Query
Response
regexpExtract
Добавленный в: v23.2.0 Извлекает изhaystack первую подстроку, которая соответствует шаблону регулярного выражения и указанному индексу группы.
Синтаксис
REGEXP_EXTRACT, REGEXP_SUBSTR
Аргументы
haystack— String, строка, в которой ищется совпадение с шаблоном регулярного выражения.Stringpattern— String, шаблон регулярного выражения.patternможет содержать несколько групп регулярного выражения, аindexуказывает, какую именно группу нужно извлечь. Индекс0означает совпадение со всем регулярным выражением.const Stringindex— Необязательный. Неотрицательное целое число, указывающее, какую группу регулярного выражения нужно извлечь. По умолчанию используется1, еслиpatternсодержит хотя бы одну захватывающую группу, и0(всё совпадение), еслиpatternне содержит захватывающих групп.(U)Int*
String
Примеры
Пример использования
Query
Response
regexpPosition
Добавленный в: v26.5.0 Возвращает позицию в байтах (с отсчётом от 1)occurrence-го вхождения pattern в haystack, начиная поиск с байтовой позиции position.
Если return_option равен 0 (по умолчанию), возвращается позиция первого байта совпадения. Если 1 — позиция первого байта после совпадения.
Если subexpression больше 0, вместо позиции всего совпадения возвращается позиция соответствующей группы захвата.
Возвращает 0, если совпадение не найдено или если запрошенная группа захвата не участвовала в совпадении.
Функция предоставляется для совместимости с regexp_instr в PostgreSQL (и также доступна под этим псевдонимом). Обратите внимание: позиции измеряются в байтах, как и в других функциях ClickHouse для работы с регулярными выражениями; в PostgreSQL regexp_instr использует символьные позиции.
Синтаксис
regexpInstr, regexp_instr
Аргументы
haystack— Строка, в которой выполняется поиск.Stringpattern— Шаблон регулярного выражения.const Stringposition— Необязательно. Позиция в байтах, начиная с 1, с которой начинается поиск. По умолчанию: 1.(U)Int*occurrence— Необязательно. Какое по счёту совпадение вернуть. По умолчанию: 1.(U)Int*return_option— Необязательно.0возвращает позицию начала совпадения,1— позицию сразу после совпадения. По умолчанию: 0.(U)Int*flags— Необязательно. Флаги регулярного выражения. Поддерживаются:i(регистронезависимый),c(с учётом регистра),m/n(многострочные якоря),s(точка соответствует символу новой строки). По умолчанию: пустая строка.const Stringsubexpression— Необязательно. Индекс группы захвата, позицию которой нужно вернуть.0означает всё совпадение. По умолчанию: 0.(U)Int*
0, если совпадение не найдено. UInt64
Примеры
Базовое использование
Query
Response
removeDiacriticsUTF8
Добавленный в: v26.3.0 Удаляет диакритические знаки (акценты) из строки в кодировке UTF-8, разлагая символы с помощью NFD, удаляя комбинируемые знаки (категория Unicode Mn), а затем повторно компонуя их с помощью NFC. СинтаксисremoveAccentsUTF8
Аргументы
str— входная строка в кодировке UTF-8.String
String
Примеры
Базовое удаление диакритических знаков
Query
Response
repeat
Добавленный в: v20.1.0 Повторяет строку указанное количество раз. Синтаксисs, повторённую n раз. Если n отрицательно, функция возвращает пустую строку. String
Примеры
Пример использования
Query
Response
reverseUTF8
Добавленный в: v1.1.0 Обращает последовательность кодовых точек Unicode в строке. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, не сгенерировать исключение, а результат не определён. Синтаксисs— String, содержащая корректный текст в кодировке UTF-8.String
String
Примеры
Пример использования
Query
Response
right
Добавленный в: v22.1.0 Возвращает подстроку строкиs с заданным смещением offset от правого края.
Синтаксис
s— Строка, из которой извлекается подстрока.StringилиFixedStringoffset— Количество байт смещения.(U)Int*
- Для положительного
offset— подстрокуsдлинойoffsetбайт, отсчитываемую от конца строки. - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, отсчитываемую от конца строки. - Пустую строку, если
lengthравно0.String
Query
Response
Query
Response
rightPad
Добавленный в: v21.8.0 Дополняет строку справа пробелами или указанной строкой (при необходимости — повторяя её), пока итоговая строка не достигнет заданнойlength.
Синтаксис
rpad
Аргументы
string— Исходная строка, которую нужно дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, входная строка укорачивается доlengthсимволов.(U)Int*pad_string— Необязательно. Строка, которой дополняется исходная строка. Если не указана, исходная строка дополняется пробелами.String
String
Примеры
Пример использования
Query
Response
rightPadUTF8
Добавленный в: v21.8.0 Дополняет строку справа пробелами или указанной строкой (при необходимости повторяя её), пока итоговая строка не достигнет заданной длины. В отличие отrightPad, который измеряет длину строки в байтах, здесь длина строки измеряется в кодовых точках.
Синтаксис
string— Входная строка, которую нужно дополнить.Stringlength— Длина результирующей строки. Если значение меньше длины входной строки, входная строка укорачивается доlengthсимволов.(U)Int*pad_string— Необязательно. Строка, которой дополняется входная строка. Если не указана, входная строка дополняется пробелами.String
String
Примеры
Пример использования
Query
Response
rightUTF8
Добавленный в: v22.1.0 Возвращает подстроку UTF-8-кодированной строкиs с указанным offset, отсчитываемым справа.
Синтаксис
s— Строка в кодировке UTF-8, из которой извлекается подстрока.StringилиFixedStringoffset— Смещение в байтах.(U)Int*
- Для положительного
offset— подстрокуsдлинойoffsetбайт, отсчитываемую от конца строки. - Для отрицательного
offset— подстрокуsдлинойlength(s) - |offset|байт, отсчитываемую от конца строки. - Пустую строку, если
lengthравно0.String
Query
Response
Query
Response
soundex
Добавленный в: v23.4.0 Возвращает код Soundex для строки. Синтаксисs— Входная строка.String
String
Примеры
Пример использования
Query
Response
space
Добавленный в: v23.5.0 Повторяет пробел ( ) указанное количество раз.
Синтаксис
n— Количество повторений пробела.(U)Int*
n пробелов. Если n <= 0, функция возвращает пустую строку. String
Примеры
Пример использования
Query
Response
sparseGrams
Добавленный в: v25.5.0 Находит все подстроки заданной строки длиной не менееn,
для которых хеши (n-1)-грамм на границах подстроки
строго больше хешей любой (n-1)-граммы внутри неё.
Использует CRC32 в качестве хеш-функции.
Синтаксис
s— Входная строка.Stringmin_ngram_length— Необязательно. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимально допустимое значение — 3.UInt*max_ngram_length— Необязательно. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Должно быть не меньшеmin_ngram_length.UInt*min_cutoff_length— Необязательно. Если указано, возвращаются только n-граммы длиной не меньшеmin_cutoff_length. Значение по умолчанию совпадает сmin_ngram_length. Должно быть не меньшеmin_ngram_lengthи не большеmax_ngram_length.UInt*
Array(String)
Примеры
Пример использования
Query
Response
sparseGramsHashes
Добавленный в: v25.5.0 Находит хеши всех подстрок заданной строки длиной не менееn,
у которых хеши (n-1)-грамм на границах подстроки
строго больше хешей любой (n-1)-граммы внутри подстроки.
Использует CRC32 в качестве хеш-функции.
Синтаксис
s— Входная строка.Stringmin_ngram_length— Необязательно. Минимальная длина извлекаемой n-граммы. Значение по умолчанию и минимально допустимое значение — 3.UInt*max_ngram_length— Необязательно. Максимальная длина извлекаемой n-граммы. Значение по умолчанию — 100. Должно быть не меньшеmin_ngram_length.UInt*min_cutoff_length— Необязательно. Если указано, возвращаются только n-граммы длиной не меньшеmin_cutoff_length. Значение по умолчанию совпадает сmin_ngram_length. Должно быть не меньшеmin_ngram_lengthи не большеmax_ngram_length.UInt*
Array(UInt32)
Примеры
Пример использования
Query
Response
sparseGramsHashesUTF8
Добавленный в: v25.5.0 Находит хеши всех подстрок заданной 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*min_cutoff_length— Необязательно. Если указано, возвращаются только n-граммы длиной не меньшеmin_cutoff_length. Значение по умолчанию совпадает сmin_ngram_length. Должно быть не меньшеmin_ngram_lengthи не большеmax_ngram_length.UInt*
Array(UInt32)
Примеры
Пример использования
Query
Response
sparseGramsUTF8
Добавленный в: v25.5.0 Находит все подстроки заданной 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*min_cutoff_length— Необязательно. Если параметр указан, возвращаются только n-граммы длиной не менееmin_cutoff_length. Значение по умолчанию совпадает со значениемmin_ngram_length. Должно быть не меньшеmin_ngram_lengthи не большеmax_ngram_length.UInt*
Array(String)
Примеры
Пример использования
Query
Response
startsWith
Добавленный в: v1.1.0 Проверяет, начинается ли строка с заданной подстроки. Синтаксис1, если s начинается с prefix, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
startsWithCaseInsensitive
Добавленный в: v25.10.0 Проверяет, начинается ли строка с указанной регистронезависимой строки. Синтаксисs— Строка, которую нужно проверить.Stringprefix— Регистронезависимый префикс, наличие которого нужно проверить.String
1, если s начинается с регистронезависимого prefix, в противном случае — 0. UInt8
Примеры
Пример использования
Query
Response
startsWithCaseInsensitiveUTF8
Добавленный в: v25.10.0 Проверяет, начинается ли строка с указанного регистронезависимого префикса. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксисs— Строка, которую нужно проверить.Stringprefix— Регистронезависимый префикс, наличие которого нужно проверить.String
1, если s начинается с регистронезависимого prefix, иначе 0. UInt8
Примеры
Пример использования
Query
Response
startsWithUTF8
Добавленный в: v23.8.0 Проверяет, начинается ли строка с указанного префикса. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксисs— Строка, которую нужно проверить.Stringprefix— Префикс, наличие которого нужно проверить.String
1, если s начинается с prefix, иначе — 0. UInt8
Примеры
Пример использования
Query
Response
stringBytesEntropy
Добавленный в: v25.6.0 Вычисляет энтропию Шеннона распределения байтов в строке. Синтаксисs— строка для анализа.String
Float64
Примеры
Пример использования
Query
Response
stringBytesUniq
Добавленный в: v25.6.0 Подсчитывает число уникальных байтов в строке. Синтаксисs— анализируемая строка.String
UInt16
Примеры
Пример использования
Query
Response
stringJaccardIndex
Добавленный в: v23.11.0 Вычисляет индекс сходства Жаккара для двух байтовых строк. СинтаксисFloat64
Примеры
Пример использования
Query
Response
stringJaccardIndexUTF8
Добавленный в: v23.11.0 АналогstringJaccardIndex, но для строк в кодировке UTF8.
Синтаксис
s1— Первая входная строка в кодировке UTF-8.Strings2— Вторая входная строка в кодировке UTF-8.String
Float64
Примеры
Пример использования
Query
Response
substring
Добавленный в: v1.1.0 Возвращает подстроку строкиs, начинающуюся с указанного байтового смещения offset.
Подсчёт байтов начинается с 1 по следующей логике:
- Если
offsetравен0, возвращается пустая строка. - Если
offsetотрицательный, подстрока начинается наoffsetсимволов от конца строки, а не от её начала.
length задаёт максимальное количество байтов в возвращаемой подстроке.
См. также функцию digits, которая выполняет аналогичную операцию с цифрами числа.
Синтаксис
byteSlice, mid, substr
Аргументы
s— Строка, из которой извлекается подстрока.StringилиFixedStringилиEnumoffset— Начальная позиция подстроки вs.(U)Int*length— Необязательный параметр. Максимальная длина подстроки.(U)Int*
s длиной length байт, начиная с индекса offset. String
Примеры
Базовое использование
Query
Response
substringIndex
Добавленный в: v23.7.0 Возвращает подстрокуs до первых count вхождений разделителя delim, как в Spark или MySQL.
Синтаксис
SUBSTRING_INDEX
Аргументы
s— Строка, из которой нужно извлечь подстроку.Stringdelim— Символ-разделитель.Stringcount— Количество вхождений разделителя, которое нужно учесть перед извлечением подстроки. Еслиcountположительный, возвращается всё слева от последнего разделителя (считая слева). Еслиcountотрицательный, возвращается всё справа от последнего разделителя (считая справа).UIntилиInt
s до count-го вхождения delim. String
Примеры
Пример использования
Query
Response
substringIndexUTF8
Добавленный в: v23.7.0 Возвращает подстрокуs до count вхождений разделителя delim; функция работает с кодовыми точками Unicode.
Предполагается, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не генерируется, а результат не определён.
Синтаксис
s— Строка, из которой извлекается подстрока.Stringdelim— Символ-разделитель.Stringcount— Количество вхождений разделителя, которое нужно отсчитать перед извлечением подстроки. Еслиcountположительный, возвращается всё слева от последнего разделителя (при отсчёте слева). Еслиcountотрицательный, возвращается всё справа от последнего разделителя (при отсчёте справа).UIntилиInt
s до count-го вхождения delim. String
Примеры
Пример UTF8
Query
Response
substringUTF8
Добавленный в: v1.1.0 Возвращает подстроку строкиs, начинающуюся с указанной кодовой точки с индексом offset.
Отсчет кодовых точек начинается с 1 по следующей логике:
- Если
offsetравен0, возвращается пустая строка. - Если
offsetотрицательный, подстрока начинается с кодовой точки, расположенной наoffsetпозиций от конца строки, а не от начала.
length задает максимальное количество кодовых точек в возвращаемой подстроке.
Эта функция предполагает, что строка содержит корректный текст в кодировке UTF-8.
Если это предположение нарушено, исключение не сгенерируется, а результат будет неопределенным.
s— Строка, из которой извлекается подстрока.StringилиFixedStringилиEnumoffset— Начальная позиция подстроки вs.IntилиUIntlength— Максимальная длина подстроки. Необязательный параметр.IntилиUInt
s длиной length кодовых точек, начиная с кодовой точки с индексом offset. String
Примеры
Пример использования
Query
Response
toValidUTF8
Добавленный в: v20.1.0 Преобразует строку в корректную UTF-8-последовательность, заменяя любые недопустимые символы UTF-8 символом замены� (U+FFFD).
Если обнаруживается несколько недопустимых символов подряд, они заменяются одним символом замены.
Синтаксис
s— Любая последовательность байтов, представленная объектом типа данных String.String
String
Примеры
Пример использования
Query
Response
trimBoth
Добавленный в: v20.1.0 Удаляет указанные символы в начале и конце строки. По умолчанию удаляет стандартные символы-пробелы (ASCII). Синтаксисtrim
Аргументы
s— Обрезаемая строка.Stringtrim_characters— Необязательно. Символы, которые нужно удалить. Если не указано, удаляются стандартные пробельные символы.String
String
Примеры
Пример использования
Query
Response
trimLeft
Добавленный в: v20.1.0 Удаляет указанные символы в начале строки. По умолчанию удаляет распространённые пробельные символы (ASCII). Синтаксисltrim
Аргументы
input— Строка, из которой удаляются символы.Stringtrim_characters— Необязательно. Символы, которые нужно удалить. Если не указано, удаляются распространённые пробельные символы.String
String
Примеры
Пример использования
Query
Response
trimRight
Добавленный в: v20.1.0 Удаляет указанные символы с конца строки. По умолчанию удаляет стандартные пробельные символы (ASCII). Синтаксисrtrim
Аргументы
s— Строка, из которой нужно удалить символы.Stringtrim_characters— Необязательные символы для удаления. Если не указаны, удаляются обычные пробельные символы.String
String
Примеры
Пример использования
Query
Response
tryBase32Decode
Добавленный в: v25.6.0 Принимает строку и декодирует её по схеме кодирования Base32. Синтаксисencoded— столбец String или константа, которую нужно декодировать. Если строка не является корректной строкой в кодировке Base32, то в случае ошибки возвращается пустая строка.String
String
Примеры
Пример использования
Query
Response
tryBase58Decode
Добавленный в: v22.10.0 Аналогичноbase58Decode, но в случае ошибки возвращает пустую строку.
Синтаксис
encoded— Столбец типа String или константа. Если строка некорректно закодирована в Base58, в случае ошибки возвращается пустая строка.Stringexpected_size— Необязательно. Требуемый размер декодированного значения в байтах: входные данные, которые декодируются в значение другого размера, отклоняются. Значение0не накладывает никаких требований.UInt8, UInt16, UInt32, or UInt64
String
Примеры
Пример использования
Query
Response
tryBase64Decode
Добавленный в: v18.16.0 Аналогичноbase64Decode, но в случае ошибки возвращает пустую строку.
Синтаксис
encoded— столбецStringили константа для декодирования. Если строка не является корректной строкой в кодировке Base64, в случае ошибки возвращается пустая строка.String
String
Примеры
Пример использования
Query
Response
tryBase64URLDecode
Добавленный в: v18.16.0 Аналогичнаbase64URLDecode, но в случае ошибки возвращает пустую строку.
Синтаксис
encoded— столбец типа String или константа для декодирования. Если строка не является допустимой строкой в кодировке Base64, то в случае ошибки возвращается пустая строка.String
String
Примеры
Пример использования
Query
Response
tryIdnaEncode
Добавленный в: v24.1.0 Возвращает доменное имя в представлении Unicode (UTF-8) по алгоритму ToUnicode в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). В случае ошибки возвращает пустую строку вместо того, чтобы генерировать исключение. Синтаксисs— Входная строка.String
String
Примеры
Пример использования
Query
Response
tryPunycodeDecode
Добавленный в: v24.1.0 КакpunycodeDecode, но возвращает пустую строку, если передана невалидная строка, закодированная в Punycode.
Синтаксис
s— строка, закодированная в Punycode.String
String
Примеры
Пример использования
Query
Response
upper
Добавленный в: v1.1.0 Преобразует ASCII-символы латиницы в строке в верхний регистр. Синтаксисucase
Аргументы
s— Строка, которую нужно преобразовать в верхний регистр.String
s в верхнем регистре. String
Примеры
Пример использования
Query
Response
upperUTF8
Добавленный в: v1.1.0 Преобразует строку в верхний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не сгенерируется, а результат не определён.Эта функция не определяет язык, поэтому, например, для турецкого языка результат может быть не совсем корректным (i/İ vs. i/I).
Если длина последовательности байтов UTF-8 различается для одного и того же кодового символа в верхнем и нижнем регистре (например,
ẞ и ß), результат для этого кодового символа может быть некорректным.s— строкового типа.String
String. String
Примеры
Пример использования
Query
Response