Перейти к основному содержанию
Функции для поиска и замены в строках описаны отдельно.
Приведённая ниже документация сгенерирована на основе системной таблицы system.functions.

CRC32

Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC32 для строки, используя полином CRC-32-IEEE 802.3 и начальное значение 0xffffffff (реализация zlib). Синтаксис
CRC32(s)
Аргументы
  • s — строка String, для которой вычисляется CRC32. String
Возвращаемое значение Возвращает контрольную сумму CRC32 для строки. UInt32 Примеры Пример использования
Query
SELECT CRC32('ClickHouse')
Response
┌─CRC32('ClickHouse')─┐
│          1538217360 │
└─────────────────────┘

CRC32IEEE

Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC32 для строки с использованием полинома CRC-32-IEEE 802.3. Синтаксис
CRC32IEEE(s)
Аргументы
  • s — строка, для которой вычисляется CRC32. String
Возвращаемое значение Возвращает контрольную сумму CRC32 для строки. UInt32 Примеры Пример использования
Query
SELECT CRC32IEEE('ClickHouse');
Response
┌─CRC32IEEE('ClickHouse')─┐
│              3089448422 │
└─────────────────────────┘

CRC64

Добавленный в: v20.1.0 Вычисляет контрольную сумму CRC64 для строки с использованием полинома CRC-64-ECMA. Синтаксис
CRC64(s)
Аргументы
  • s — строка, для которой вычисляется CRC64. String
Возвращаемое значение Возвращает контрольную сумму CRC64 для строки. UInt64 Примеры Пример использования
Query
SELECT CRC64('ClickHouse');
Response
┌──CRC64('ClickHouse')─┐
│ 12126588151325169346 │
└──────────────────────┘

appendTrailingCharIfAbsent

Добавленный в: v1.1.0 Добавляет символ c в строку s, если s непустая и не заканчивается символом c. Синтаксис
appendTrailingCharIfAbsent(s, c)
Аргументы
  • s — Входная строка. String
  • c — Символ, который нужно добавить, если он отсутствует. String
Возвращаемое значение Возвращает строку s с добавленным символом c, если s не заканчивается на c. String Примеры Пример использования
Query
SELECT appendTrailingCharIfAbsent('https://example.com', '/');
Response
┌─appendTraili⋯.com', '/')─┐
│ https://example.com/     │
└──────────────────────────┘

ascii

Добавленный в: v22.11.0 Возвращает ASCII-код первого символа строки s в виде Int32. Синтаксис
ascii(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает код точки ASCII для первого символа. Если s — пустая строка, результат равен 0. Если первый символ не является символом ASCII или не входит в диапазон Latin-1 Supplement UTF-16, результат не определён. Int32 Примеры Пример использования
Query
SELECT ascii('234')
Response
┌─ascii('234')─┐
│           50 │
└──────────────┘

base32Decode

Добавленный в: v25.6.0 Декодирует строку Base32 (RFC 4648). Если строка не является корректной строкой в кодировке Base32, генерируется исключение. Синтаксис
base32Decode(encoded)
Аргументы
  • encoded — столбец типа String или константа. String
Возвращаемое значение Возвращает строку с декодированным значением аргумента. String Примеры Пример использования
Query
SELECT base32Decode('IVXGG33EMVSA====');
Response
┌─base32Decode('IVXGG33EMVSA====')─┐
│ Encoded                          │
└──────────────────────────────────┘

base32Encode

Добавленный в: v25.6.0 Кодирует строку в Base32. Синтаксис
base32Encode(plaintext)
Аргументы
  • plaintext — Открытый текст, который нужно закодировать. String
Возвращаемое значение Возвращает строку, содержащую закодированное значение аргумента. String или FixedString Примеры Пример использования
Query
SELECT base32Encode('Encoded')
Response
┌─base32Encode('Encoded')─┐
│ IVXGG33EMVSA====        │
└─────────────────────────┘

base58Decode

Добавленный в: v22.7.0 Декодирует строку в формате Base58. Если строка не является корректной строкой Base58, генерируется исключение. Необязательный второй аргумент expected_size можно указать для выбора оптимизированного декодера фиксированного размера. В настоящее время поддерживаются значения 32 и 64. Для остальных значений используется универсальный декодер. Если выбран оптимизированный декодер, но входную строку нельзя декодировать ровно в такое количество байтов, функция генерирует исключение (или возвращает пустую строку для tryBase58Decode). Синтаксис
base58Decode(encoded[, expected_size])
Аргументы
  • encoded — Столбец или константа типа String для декодирования. String
  • expected_size — Необязательно. Ожидаемый размер результата декодирования в байтах. Если указано 32 или 64, используется оптимизированный декодер; для остальных значений используется универсальный декодер. UInt8, UInt16, UInt32, or UInt64
Возвращаемое значение Возвращает строку, содержащую декодированное значение аргумента. String Примеры Пример использования
Query
SELECT base58Decode('JxF12TrwUP45BMd');
Response
┌─base58Decode⋯rwUP45BMd')─┐
│ Hello World              │
└──────────────────────────┘

base58Encode

Добавленный в: v22.7.0 Кодирует строку в Base58. Синтаксис
base58Encode(plaintext)
Аргументы
  • plaintext — Открытый текст, который нужно закодировать. String
Возвращаемое значение Возвращает строку с закодированным значением аргумента. String Примеры Пример использования
Query
SELECT base58Encode('ClickHouse');
Response
┌─base58Encode('ClickHouse')─┐
│ 4nhk8K7GHXf6zx             │
└────────────────────────────┘

base64Decode

Добавленный в: v18.16.0 Декодирует строку из представления Base64 в соответствии с RFC 4648. В случае ошибки генерирует исключение. Синтаксис
base64Decode(encoded)
Псевдонимы: FROM_BASE64 Аргументы
  • encoded — столбец типа String или константа для декодирования. Если строка некорректно закодирована в Base64, генерируется исключение. String
Возвращаемое значение Возвращает декодированную строку. String Примеры Пример использования
Query
SELECT base64Decode('Y2xpY2tob3VzZQ==')
Response
┌─base64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                       │
└──────────────────────────────────┘

base64Encode

Добавленный в: v18.16.0 Кодирует строку в формате Base64 в соответствии с RFC 4648. Синтаксис
base64Encode(plaintext)
Псевдонимы: TO_BASE64 Аргументы
  • plaintext — столбец или константа с открытым текстом для декодирования. String
Возвращаемое значение Возвращает строку, содержащую закодированное значение аргумента. String Примеры Пример использования
Query
SELECT base64Encode('clickhouse')
Response
┌─base64Encode('clickhouse')─┐
│ Y2xpY2tob3VzZQ==           │
└────────────────────────────┘

base64URLDecode

Добавленный в: v24.6.0 Декодирует строку из формата Base64 с использованием URL-безопасного алфавита в соответствии с RFC 4648. При ошибке генерирует исключение. Синтаксис
base64URLDecode(encoded)
Аргументы
  • encoded — столбец типа String или константа для кодирования. Если строка закодирована в Base64 некорректно, будет сгенерировано исключение. String
Возвращаемое значение Возвращает строку, содержащую декодированное значение аргумента. String Примеры Пример использования
Query
SELECT base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
Response
┌─base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                            │
└───────────────────────────────────────────────────┘

base64URLEncode

Добавленный в: v18.16.0 Кодирует строку в представлении Base64 (RFC 4648), используя URL-безопасный алфавит. Синтаксис
base64URLEncode(plaintext)
Аргументы
  • plaintext — столбец или константа с открытым текстом для кодирования. String
Возвращаемое значение Возвращает строку, содержащую закодированное значение аргумента. String Примеры Пример использования
Query
SELECT base64URLEncode('https://clickhouse.com')
Response
┌─base64URLEncode('https://clickhouse.com')─┐
│ aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ            │
└───────────────────────────────────────────┘

basename

Добавленный в: v20.1.0 Извлекает конечную часть строки после последнего символа прямой или обратной косой черты. Эта функция часто используется для извлечения имени файла из пути. Синтаксис
basename(expr)
Аргументы
  • expr — Строковое выражение. Обратные косые черты должны быть экранированы. String
Возвращаемое значение Возвращает часть входной строки после последней косой или обратной косой черты. Если входная строка заканчивается косой или обратной косой чертой, функция возвращает пустую строку. Если в строке нет косых или обратных косых черт, возвращается исходная строка. String Примеры Извлечение имени файла из пути Unix
Query
SELECT 'some/long/path/to/file' AS a, basename(a)
Response
┌─a──────────────────────┬─basename('some/long/path/to/file')─┐
│ some/long/path/to/file │ file                               │
└────────────────────────┴────────────────────────────────────┘
Извлечь имя файла из Windows-пути
Query
SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
Response
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file                                   │
└────────────────────────┴────────────────────────────────────────┘
Строка без символов-разделителей пути
Query
SELECT 'some-file-name' AS a, basename(a)
Response
┌─a──────────────┬─basename('some-file-name')─┐
│ some-file-name │ some-file-name             │
└────────────────┴────────────────────────────┘

byteHammingDistance

Добавленный в: v23.9.0 Вычисляет расстояние Хэмминга между двумя байтовыми строками. Синтаксис
byteHammingDistance(s1, s2)
Псевдонимы: mismatches Аргументы
  • s1 — Первая строка. String
  • s2 — Вторая строка. String
Возвращаемое значение Возвращает расстояние Хэмминга между двумя строками. UInt64 Примеры Пример использования
Query
SELECT byteHammingDistance('karolin', 'kathrin')
Response
┌─byteHammingDistance('karolin', 'kathrin')─┐
│                                         3 │
└───────────────────────────────────────────┘

caseFoldUTF8

Добавленный в: v26.3.0 Применяет свёртку регистра Unicode к UTF-8-строке, преобразуя её в нормализованную форму, аналогичную нижнему регистру и подходящую для регистронезависимых сравнений. Применяет стандартную свёртку регистра Unicode. Сохраняет символы совместимости, на которые свёртка регистра не влияет (например, римские цифры, числа в кружках), однако обратите внимание, что некоторые лигатуры, такие как , всё равно раскладываются, поскольку свёртка регистра Unicode сама по себе их разворачивает. Синтаксис
caseFoldUTF8(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение UTF-8-строка после case folding. String Примеры Базовый пример case folding
Query
SELECT caseFoldUTF8('Straße')
Response
┌─caseFoldUTF8('Straße')─┐
│ strasse                 │
└─────────────────────────┘

compareSubstrings

Добавленный в: v25.2.0 Сравнивает две строки в лексикографическом порядке. Синтаксис
compareSubstrings(s1, s2, s1_offset, s2_offset, num_bytes)
Аргументы
  • s1 — Первая строка для сравнения. String
  • s2 — Вторая строка для сравнения. String
  • s1_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
SELECT compareSubstrings('Saxony', 'Anglo-Saxon', 0, 6, 5) AS result
Response
┌─result─┐
│      0 │
└────────┘

concat

Добавленный в: v1.1.0 Объединяет указанные аргументы. Аргументы, не относящиеся к типам String или FixedString, преобразуются в строки с использованием сериализации по умолчанию. Поскольку это снижает производительность, использовать аргументы, отличные от String/FixedString, не рекомендуется. Синтаксис
concat([s1, s2, ...])
Аргументы
  • s1, s2, ... — Любое количество значений произвольного типа. Any
Возвращаемое значение Возвращает строку String, полученную путём конкатенации аргументов. Если какой-либо из аргументов равен NULL, функция возвращает NULL. Если аргументы отсутствуют, возвращается пустая строка. Nullable(String) Примеры Конкатенация строк
Query
SELECT concat('Hello, ', 'World!')
Response
┌─concat('Hello, ', 'World!')─┐
│ Hello, World!               │
└─────────────────────────────┘
Объединение чисел
Query
SELECT concat(42, 144)
Response
┌─concat(42, 144)─┐
│ 42144           │
└─────────────────┘

concatAssumeInjective

Добавленный в: v1.1.0 Аналогично concat, но предполагается, что concat(s1, s2, ...) → sn — инъективная функция, то есть для разных аргументов она возвращает разные результаты. Может использоваться для оптимизации GROUP BY. Синтаксис
concatAssumeInjective([s1, s2, ...])
Аргументы
  • s1, s2, ... — Любое количество значений произвольного типа. String или FixedString
Возвращаемое значение Возвращает строку, полученную объединением аргументов. Если хотя бы одно из значений аргументов равно NULL, функция возвращает NULL. Если аргументы не переданы, возвращается пустая строка. String Примеры Оптимизация GROUP BY
Query
SELECT concat(key1, key2), sum(value) FROM key_val GROUP BY concatAssumeInjective(key1, key2)
Response
┌─concat(key1, key2)─┬─sum(value)─┐
│ Hello, World!      │          3 │
│ Hello, World!      │          2 │
│ Hello, World       │          3 │
└────────────────────┴────────────┘

concatWithSeparator

Добавленный в: v22.12.0 Объединяет указанные строки, используя заданный разделитель. Синтаксис
concatWithSeparator(sep[, exp1, exp2, ...])
Псевдонимы: concat_ws Аргументы
  • sep — Разделитель, который будет использоваться. const String или const FixedString
  • exp1, exp2, ... — Выражения для объединения. Аргументы, не имеющие тип String или FixedString, преобразуются в строки с использованием сериализации по умолчанию. Поскольку это снижает производительность, использовать аргументы не типа String/FixedString не рекомендуется. Any
Возвращаемое значение Возвращает строку, созданную объединением аргументов. Если значение любого из аргументов равно NULL, функция возвращает NULL. String Примеры Пример использования
Query
SELECT concatWithSeparator('a', '1', '2', '3', '4')
Response
┌─concatWithSeparator('a', '1', '2', '3', '4')─┐
│ 1a2a3a4                                      │
└──────────────────────────────────────────────┘

concatWithSeparatorAssumeInjective

Добавленный в: v22.12.0 Как concatWithSeparator, но предполагает, что concatWithSeparator(sep[,exp1, exp2, ... ]) → result инъективна. Функция называется инъективной, если она возвращает разные результаты для разных аргументов. Может использоваться для оптимизации GROUP BY. Синтаксис
concatWithSeparatorAssumeInjective(sep[, exp1, exp2, ... ])
Аргументы
  • sep — Используемый разделитель. const String or const FixedString
  • exp1, exp2, ... — Выражения для объединения. Аргументы типа, отличного от String или FixedString, преобразуются в строки с использованием сериализации по умолчанию. Поскольку это снижает производительность, использовать аргументы не типа String/FixedString не рекомендуется. String or FixedString
Возвращаемое значение Возвращает строку String, полученную объединением аргументов. Если значение любого из аргументов равно NULL, функция возвращает NULL. String Примеры Пример использования
Query
CREATE TABLE user_data (
user_id UInt32,
first_name String,
last_name String,
score UInt32
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO user_data VALUES
(1, 'John', 'Doe', 100),
(2, 'Jane', 'Smith', 150),
(3, 'John', 'Wilson', 120),
(4, 'Jane', 'Smith', 90);

SELECT
    concatWithSeparatorAssumeInjective('-', first_name, last_name) as full_name,
    sum(score) as total_score
FROM user_data
GROUP BY concatWithSeparatorAssumeInjective('-', first_name, last_name);
Response
┌─full_name───┬─total_score─┐
│ Jane-Smith  │         240 │
│ John-Doe    │         100 │
│ John-Wilson │         120 │
└─────────────┴─────────────┘

conv

Добавленный в: v25.10.0 Преобразует числа между различными системами счисления. Функция преобразует число из одной системы счисления в другую. Поддерживаются системы счисления от 2 до 36. Для систем счисления с основанием больше 10 для представления цифр 10–35 используются буквы A-Z (регистронезависимый поиск). Эта функция совместима с функцией CONV() в MySQL. Синтаксис
conv(number, from_base, to_base)
Аргументы
  • number — Число, которое нужно преобразовать. Может быть строкой или числовым типом. - from_base — Исходное основание системы счисления (2-36). Должно быть целым числом. - to_base — Целевое основание системы счисления (2-36). Должно быть целым числом.
Возвращаемое значение Строковое представление числа в целевом основании системы счисления. Примеры Преобразование десятичного числа в двоичное
Query
SELECT conv('10', 10, 2)
Response
1010
Преобразовать число из шестнадцатеричной системы в десятичную
Query
SELECT conv('FF', 16, 10)
Response
255
Преобразование отрицательного числа
Query
SELECT conv('-1', 10, 16)
Response
FFFFFFFFFFFFFFFF
Преобразование двоичного числа в восьмеричную систему счисления
Query
SELECT conv('1010', 2, 8)
Response
12

convertCharset

Добавленный в: v1.1.0 Возвращает строку s, преобразованную из кодировки from в кодировку to. Синтаксис
convertCharset(s, from, to)
Аргументы
  • s — Входная строка. String
  • from — Исходная кодировка символов. String
  • to — Целевая кодировка символов. String
Возвращаемое значение Строка s, преобразованная из кодировки from в кодировку to. String Примеры Пример использования
Query
SELECT convertCharset('Café', 'UTF-8', 'ISO-8859-1');
Response
┌─convertChars⋯SO-8859-1')─┐
│ Caf�                     │
└──────────────────────────┘

damerauLevenshteinDistance

Добавленный в: v24.1.0 Вычисляет расстояние Дамерау — Левенштейна между двумя строками байтов. Синтаксис
damerauLevenshteinDistance(s1, s2)
Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает расстояние Дамерау — Левенштейна между двумя строками. UInt64 Примеры Пример использования
Query
SELECT damerauLevenshteinDistance('clickhouse', 'mouse')
Response
┌─damerauLevenshteinDistance('clickhouse', 'mouse')─┐
│                                                 6 │
└───────────────────────────────────────────────────┘

decodeHTMLComponent

Добавленный в: v23.9.0 Преобразует HTML-сущности в строке в соответствующие символы. Синтаксис
decodeHTMLComponent(s)
Аргументы
  • s — строка, содержащая HTML-сущности для декодирования. String
Возвращаемое значение Возвращает строку с декодированными HTML-сущностями. String Примеры Пример использования
Query
SELECT decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')
Response
┌─decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')─┐
│ <div>Hello & "World"</div>                                                  │
└─────────────────────────────────────────────────────────────────────────────┘

decodeXMLComponent

Добавленный в: v21.2.0 Декодирует XML-сущности в строке в соответствующие символы. Синтаксис
decodeXMLComponent(s)
Аргументы
  • s — Строка, содержащая XML-сущности, которые нужно декодировать. String
Возвращаемое значение Возвращает переданную строку с декодированными XML-сущностями. String Примеры Пример использования
Query
SELECT decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')
Response
┌─decodeXMLCom⋯;/tag&gt;')─┐
│ <tag>Hello & World</tag> │
└──────────────────────────┘

editDistance

Добавленный в: v23.9.0 Вычисляет расстояние редактирования между двумя байтовыми строками. Синтаксис
editDistance(s1, s2)
Псевдонимы: levenshteinDistance Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает расстояние редактирования между двумя строками. UInt64 Примеры Пример использования
Query
SELECT editDistance('clickhouse', 'mouse')
Response
┌─editDistance('clickhouse', 'mouse')─┐
│                                   6 │
└─────────────────────────────────────┘

editDistanceUTF8

Добавленный в: v24.6.0 Вычисляет расстояние редактирования между двумя строками UTF-8. Синтаксис
editDistanceUTF8(s1, s2)
Псевдонимы: levenshteinDistanceUTF8 Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает расстояние редактирования между двумя строками в кодировке UTF-8. UInt64 Примеры Пример использования
Query
SELECT editDistanceUTF8('我是谁', '我是我')
Response
┌─editDistanceUTF8('我是谁', '我是我')──┐
│                                   1 │
└─────────────────────────────────────┘

encodeXMLComponent

Добавленный в: v21.1.0 Экранирует символы для вставки строки в текстовый узел XML или атрибут. Синтаксис
encodeXMLComponent(s)
Аргументы
  • s — строка для экранирования. String
Возвращаемое значение Экранированная строка. String Примеры Пример использования
Query
SELECT
    '<tag>Hello & "World"</tag>' AS original,
    encodeXMLComponent('<tag>Hello & "World"</tag>') AS xml_encoded;
Response
┌─original───────────────────┬─xml_encoded──────────────────────────────────────────┐
│ <tag>Hello & "World"</tag> │ &lt;tag&gt;Hello &amp; &quot;World&quot;&lt;/tag&gt; │
└────────────────────────────┴──────────────────────────────────────────────────────┘

endsWith

Добавленный в: v1.1.0 Проверяет, оканчивается ли строка заданным суффиксом. Синтаксис
endsWith(s, suffix)
Аргументы
  • s — Проверяемая строка. String
  • suffix — Проверяемый суффикс. String
Возвращаемое значение Возвращает 1, если s оканчивается на suffix, в противном случае 0. UInt8 Примеры Пример использования
Query
SELECT endsWith('ClickHouse', 'House');
Response
┌─endsWith('Cl⋯', 'House')─┐
│                        1 │
└──────────────────────────┘

endsWithCaseInsensitive

Добавленный в: v25.10.0 Проверяет, оканчивается ли строка указанным регистронезависимым суффиксом. Синтаксис
endsWithCaseInsensitive(s, suffix)
Аргументы
  • s — Строка для проверки. String
  • suffix — Регистронезависимый суффикс для проверки. String
Возвращаемое значение Возвращает 1, если s заканчивается на регистронезависимый suffix, иначе 0. UInt8 Примеры Пример использования
Query
SELECT endsWithCaseInsensitive('ClickHouse', 'HOUSE');
Response
┌─endsWithCaseInsensitive('Cl⋯', 'HOUSE')─┐
│                                       1 │
└─────────────────────────────────────────┘

endsWithCaseInsensitiveUTF8

Добавленный в: v25.10.0 Возвращает, оканчивается ли строка s на регистронезависимый суффикс suffix. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определен. Синтаксис
endsWithCaseInsensitiveUTF8(s, suffix)
Аргументы
  • s — проверяемая строка. String
  • suffix — регистронезависимый суффикс для проверки. String
Возвращаемое значение Возвращает 1, если s оканчивается на регистронезависимый suffix, иначе — 0. UInt8 Примеры Пример использования
Query
SELECT endsWithCaseInsensitiveUTF8('данных', 'ых');
Response
┌─endsWithCaseInsensitiveUTF8('данных', 'ых')─┐
│                                           1 │
└─────────────────────────────────────────────┘

endsWithUTF8

Добавленный в: v23.8.0 Возвращает, оканчивается ли строка s на suffix. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксис
endsWithUTF8(s, suffix)
Аргументы
  • s — Проверяемая строка. String
  • suffix — Проверяемый суффикс. String
Возвращаемое значение Возвращает 1, если s оканчивается на suffix, иначе — 0. UInt8 Примеры Пример использования
Query
SELECT endsWithUTF8('данных', 'ых');
Response
┌─endsWithUTF8('данных', 'ых')─┐
│                            1 │
└──────────────────────────────┘

extractTextFromHTML

Добавленный в: v21.3.0 Извлекает текстовое содержимое из HTML или XHTML. Эта функция удаляет HTML-теги, комментарии и элементы script/style, оставляя только текст. Она выполняет:
  • Удаление всех HTML/XML-тегов
  • Удаление комментариев ({/* */})
  • Удаление элементов script и style вместе с их содержимым
  • Обработку секций CDATA (копируются дословно)
  • Корректную обработку и нормализацию пробельных символов
Примечание: HTML-сущности не декодируются; при необходимости их следует обрабатывать отдельной функцией. Синтаксис
extractTextFromHTML(html)
Аргументы
  • htmlString, содержащая HTML-контент, из которого нужно извлечь текст. String
Возвращаемое значение Возвращает извлечённый текст с нормализованными пробелами. String Примеры Пример использования
Query
SELECT extractTextFromHTML('
<html>
    <head><title>Page Title</title></head>
    <body>
        <p>Hello <b>World</b>!</p>
        <script>alert("test");</script>
        <!-- comment -->
    </body>
</html>
');
Response
┌─extractTextFromHTML('<html><head>...')─┐
│ Page Title Hello World!                │
└────────────────────────────────────────┘

firstLine

Добавленный в: v23.7.0 Возвращает первую строку из многострочной строки. Синтаксис
firstLine(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает первую строку входной строки или всю строку, если в ней нет разделителей строк. String Примеры Пример использования
Query
SELECT firstLine('foo\\nbar\\nbaz')
Response
┌─firstLine('foo\nbar\nbaz')─┐
│ foo                        │
└────────────────────────────┘

idnaDecode

Добавленный в: v24.1.0 Возвращает представление доменного имени в Unicode (UTF-8) (алгоритм ToUnicode) в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). В случае ошибки (например, если входная строка недопустима) возвращается исходная строка. Обратите внимание, что повторное применение idnaEncode() и idnaDecode() не обязательно возвращает исходную строку из-за нормализации регистра. Синтаксис
idnaDecode(s)
Аргументы
  • s — входная строка. String
Возвращаемое значение Возвращает представление входной строки в Unicode (UTF-8) в соответствии с механизмом IDNA для входного значения. String Примеры Пример использования
Query
SELECT idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')
Response
┌─idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')─┐
│ straße.münchen.de                             │
└───────────────────────────────────────────────┘

idnaEncode

Добавленный в: v24.1.0 Возвращает ASCII-представление (алгоритм ToASCII) доменного имени в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). Входная строка должна быть в кодировке UTF и допускать преобразование в ASCII-строку, в противном случае генерируется исключение.
Процентное декодирование, а также удаление символов табуляции, пробелов или управляющих символов не выполняются.
Синтаксис
idnaEncode(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает ASCII-представление входной строки в соответствии с механизмом IDNA для входного значения. String Примеры Пример использования
Query
SELECT idnaEncode('straße.münchen.de')
Response
┌─idnaEncode('straße.münchen.de')─────┐
│ xn--strae-oqa.xn--mnchen-3ya.de     │
└─────────────────────────────────────┘

initcap

Добавленный в: v23.7.0 Преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний. Слова представляют собой последовательности буквенно-цифровых символов, разделённые небуквенно-цифровыми символами.
Поскольку initcap преобразует в верхний регистр только первую букву каждого слова, для слов, содержащих апострофы или заглавные буквы, возможен неожиданный результат. Это известная особенность, и в настоящее время исправлять её не планируется.
Синтаксис
initcap(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает s, в которой первая буква каждого слова преобразуется в верхний регистр. String Примеры Пример использования
Query
SELECT initcap('building for fast')
Response
┌─initcap('building for fast')─┐
│ Building For Fast            │
└──────────────────────────────┘
Пример известного поведения слов, содержащих апострофы или заглавные буквы
Query
SELECT initcap('John''s cat won''t eat.');
Response
┌─initcap('Joh⋯n\'t eat.')─┐
│ John'S Cat Won'T Eat.    │
└──────────────────────────┘

initcapUTF8

Добавленный в: v23.7.0 Как и initcap, initcapUTF8 преобразует первую букву каждого слова в верхний регистр, а остальные — в нижний. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён.
Эта функция не определяет язык, поэтому, например, для турецкого языка результат может быть не совсем корректным (i/İ vs. i/I). Если длина последовательности байтов UTF-8 различается для верхнего и нижнего регистра кодовой точки, результат для этой кодовой точки может быть некорректным.
Синтаксис
initcapUTF8(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает s, где первая буква каждого слова приведена к верхнему регистру. String Примеры Пример использования
Query
SELECT initcapUTF8('не тормозит')
Response
┌─initcapUTF8('не тормозит')─┐
│ Не Тормозит                │
└────────────────────────────┘

isValidASCII

Добавленный в: v25.9.0 Возвращает 1, если входная строка типа String или FixedString содержит только байты ASCII (0x00–0x7F), в противном случае — 0. Оптимизировано для положительного случая (когда входные данные являются корректным ASCII). Синтаксис
isValidASCII(str)
Псевдонимы: isASCII Аргументы
  • Отсутствуют.
Возвращаемое значение Примеры isValidASCII
Query
SELECT isValidASCII('hello') AS is_ascii, isValidASCII('你好') AS is_not_ascii
Response

isValidUTF8

Добавленный в: v20.1.0 Проверяет, является ли набор байтов корректным текстом в кодировке UTF-8. Синтаксис
isValidUTF8(s)
Аргументы
  • s — Строка, которую нужно проверить на корректность UTF-8. String
Возвращаемое значение Возвращает 1, если набор байтов представляет собой корректный текст в кодировке UTF-8, в противном случае — 0. UInt8 Примеры Пример использования
Query
SELECT isValidUTF8('\\xc3\\xb1') AS valid, isValidUTF8('\\xc3\\x28') AS invalid
Response
┌─valid─┬─invalid─┐
│     1 │       0 │
└───────┴─────────┘

jaroSimilarity

Добавленный в: v24.1.0 Вычисляет меру сходства Джаро между двумя байтовыми строками. Синтаксис
jaroSimilarity(s1, s2)
Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает коэффициент сходства Джаро для двух строк. Float64 Примеры Пример использования
Query
SELECT jaroSimilarity('clickhouse', 'click')
Response
┌─jaroSimilarity('clickhouse', 'click')─┐
│                    0.8333333333333333 │
└───────────────────────────────────────┘

jaroWinklerSimilarity

Добавленный в: v24.1.0 Вычисляет меру сходства Джаро — Винклера между двумя байтовыми строками. Синтаксис
jaroWinklerSimilarity(s1, s2)
Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает коэффициент сходства Джаро — Винклера для двух строк. Float64 Примеры Пример использования
Query
SELECT jaroWinklerSimilarity('clickhouse', 'click')
Response
┌─jaroWinklerSimilarity('clickhouse', 'click')─┐
│                           0.8999999999999999 │
└──────────────────────────────────────────────┘

left

Добавленный в: v22.1.0 Возвращает подстроку строки s с указанным смещением offset, отсчитываемым слева. Синтаксис
left(s, offset)
Аргументы
  • s — Строка, из которой извлекается подстрока. String или FixedString
  • offset — Смещение в байтах. (U)Int*
Возвращаемое значение Возвращает:
  • Для положительного offset — подстроку строки s длиной offset байт, начиная слева.
  • Для отрицательного offset — подстроку строки s длиной length(s) - |offset| байт, начиная слева.
  • Пустую строку, если length равно 0. String
Примеры Положительное смещение
Query
SELECT left('Hello World', 5)
Response
Hello
Отрицательное значение смещения
Query
SELECT left('Hello World', -6)
Response
Hello

leftPad

Добавленный в: v21.8.0 Дополняет строку слева пробелами или указанной строкой (при необходимости повторяя её), пока длина результирующей строки не достигнет указанного значения length. Синтаксис
leftPad(string, length[, pad_string])
Псевдонимы: lpad Аргументы
  • string — Входная строка, которую нужно дополнить. String
  • length — Длина результирующей строки. Если значение меньше длины входной строки, входная строка усекается до length символов. (U)Int*
  • pad_string — Необязательно. Строка, используемая для дополнения входной строки. Если не указана, входная строка дополняется пробелами. String
Возвращаемое значение Возвращает строку заданной длины, дополненную слева. String Примеры Пример использования
Query
SELECT leftPad('abc', 7, '*'), leftPad('def', 7)
Response
┌─leftPad('abc', 7, '*')─┬─leftPad('def', 7)─┐
│ ****abc                │     def           │
└────────────────────────┴───────────────────┘

leftPadUTF8

Добавленный в: v21.8.0 Дополняет UTF8-строку слева пробелами или указанной строкой (при необходимости — многократно), пока итоговая строка не достигнет заданной длины. В отличие от leftPad, который измеряет длину строки в байтах, здесь длина строки измеряется в кодовых точках. Синтаксис
leftPadUTF8(string, length[, pad_string])
Аргументы
  • string — Входная строка, которую нужно дополнить. String
  • length — Длина результирующей строки. Если это значение меньше длины входной строки, она укорачивается до length символов. (U)Int*
  • pad_string — Необязательно. Строка, которой дополняется входная строка. Если не указана, входная строка дополняется пробелами. String
Возвращаемое значение Возвращает строку указанной длины, дополненную слева. String Примеры Пример использования
Query
SELECT leftPadUTF8('абвг', 7, '*'), leftPadUTF8('дежз', 7)
Response
┌─leftPadUTF8('абвг', 7, '*')─┬─leftPadUTF8('дежз', 7)─┐
│ ***абвг                     │    дежз                │
└─────────────────────────────┴────────────────────────┘

leftUTF8

Добавленный в: v22.1.0 Возвращает подстроку UTF-8-кодированной строки s с указанным смещением offset, отсчитываемым слева. Синтаксис
leftUTF8(s, offset)
Аргументы
  • s — Строка в кодировке UTF-8, из которой вычисляется подстрока. String или FixedString
  • offset — Количество байтов смещения. (U)Int*
Возвращаемое значение Возвращает:
  • Для положительного offset — подстроку s длиной offset байт, начиная с левой стороны строки.\n”
  • Для отрицательного offset — подстроку s длиной length(s) - |offset| байт, начиная с левой стороны строки.\n”
  • Пустую строку, если length равен 0. String
Примеры Положительное смещение
Query
SELECT leftUTF8('Привет', 4)
Response
Прив
Отрицательное смещение
Query
SELECT leftUTF8('Привет', -4)
Response
Пр

lengthUTF8

Добавленный в: v1.1.0 Возвращает длину строки в кодовых точках Unicode, а не в байтах или символах. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксис
lengthUTF8(s)
Псевдонимы: CHARACTER_LENGTH, CHAR_LENGTH Аргументы
  • s — строка, содержащая корректный текст в кодировке UTF-8. String
Возвращаемое значение Длина строки s в кодовых точках Unicode. UInt64 Примеры Пример использования
Query
SELECT lengthUTF8('Здравствуй, мир!')
Response
┌─lengthUTF8('Здравствуй, мир!')─┐
│                             16 │
└────────────────────────────────┘

lower

Добавленный в: v1.1.0 Преобразует строку ASCII в нижний регистр. Синтаксис
lower(s)
Псевдонимы: lcase Аргументы
  • s — Строка, которую нужно преобразовать в нижний регистр. String
Возвращаемое значение Возвращает строку s, преобразованную в нижний регистр. String Примеры Пример использования
Query
SELECT lower('CLICKHOUSE')
Response
┌─lower('CLICKHOUSE')─┐
│ clickhouse          │
└─────────────────────┘

lowerUTF8

Добавленный в: v1.1.0 Преобразует строку в нижний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, не сгенерировать исключение, а результат будет неопределённым. Синтаксис
lowerUTF8(input)
Аргументы
  • input — Строка, которую нужно преобразовать в нижний регистр. String
Возвращаемое значение Строка в нижнем регистре. String Примеры первый
Query
SELECT lowerUTF8('München') as Lowerutf8;
Response
münchen

naturalSortKey

Добавленный в: v26.3.0 Функция используется для естественной сортировки. Синтаксис
naturalSortKey(s)
Псевдонимы: NATURAL_SORT_KEY Аргументы
  • s — строка, преобразуемая в ключ естественной сортировки. String
Возвращаемое значение Возвращает строку ключа естественной сортировки, полученную из s. String Примеры Пример использования
Query
SELECT s FROM t ORDER BY naturalSortKey(s)
Response
┌─s───┐
│ a1  │
| a02 │
└─────┘

normalizeUTF8NFC

Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFC. Синтаксис
normalizeUTF8NFC(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает строку UTF-8 в нормализованной форме NFC. String Примеры Пример использования
Query
SELECT
'é' AS original, -- e + комбинирующий акут (U+0065 + U+0301)
length(original),
normalizeUTF8NFC('é') AS nfc_normalized, -- é (U+00E9)
length(nfc_normalized);
Response
┌─original─┬─length(original)─┬─nfc_normalized─┬─length(nfc_normalized)─┐
│ é        │                2 │ é              │                      2 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFD

Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFD. Синтаксис
normalizeUTF8NFD(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает строку в нормализованной форме NFD в кодировке UTF-8. String Примеры Пример использования
Query
SELECT
    'é' AS original, -- é (U+00E9)
    length(original),
    normalizeUTF8NFD('é') AS nfd_normalized, -- e + комбинирующий акут (U+0065 + U+0301)
    length(nfd_normalized);
Response
┌─original─┬─length(original)─┬─nfd_normalized─┬─length(nfd_normalized)─┐
│ é        │                2 │ é              │                      3 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFKC

Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKC. Синтаксис
normalizeUTF8NFKC(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает строку в кодировке UTF-8 в нормализованной форме NFKC. String Примеры Пример использования
Query
SELECT
    '① ② ③' AS original,                            -- Символы цифр в кружке
    normalizeUTF8NFKC('① ② ③') AS nfkc_normalized;  -- Преобразует в 1 2 3
Response
┌─original─┬─nfkc_normalized─┐
│ ① ② ③  │ 1 2 3           │
└──────────┴─────────────────┘

normalizeUTF8NFKCCasefold

Добавленный в: v26.3.0 Нормализует строку UTF-8 в соответствии с формой нормализации NFKC_Casefold, которая применяет нормализацию NFKC, а затем свёртку регистра. Это полезно при регистронезависимом сопоставлении идентификаторов. Синтаксис
normalizeUTF8NFKCCasefold(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает строку в нормализованной форме NFKC_Casefold. String Примеры Пример использования
Query
SELECT
    'Ä ① Hello' AS original,
    normalizeUTF8NFKCCasefold('Ä ① Hello') AS nfkc_cf_normalized;
Response
┌─original───┬─nfkc_cf_normalized─┐
│ Ä ① Hello │ ä 1 hello           │
└────────────┴────────────────────┘

normalizeUTF8NFKD

Добавленный в: v21.11.0 Нормализует строку в кодировке UTF-8 в соответствии с формой нормализации NFKD. Синтаксис
normalizeUTF8NFKD(str)
Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает строку в нормализованной форме NFKD. String Примеры Пример использования
Query
SELECT
    'H₂O²' AS original,                            -- H + нижний индекс 2 + O + верхний индекс 2
    normalizeUTF8NFKD('H₂O²') AS nfkd_normalized;  -- Преобразует в H 2 O 2
Response
┌─original─┬─nfkd_normalized─┐
│ H₂O²     │ H2O2            │
└──────────┴─────────────────┘

punycodeDecode

Добавленный в: v24.1.0 Возвращает открытый текст в кодировке UTF-8 для строки, закодированной в Punycode. Если передана некорректная строка в кодировке Punycode, генерируется исключение. Синтаксис
punycodeDecode(s)
Аргументы
  • s — строка, закодированная в Punycode. String
Возвращаемое значение Возвращает открытый текст входного значения. String Примеры Пример использования
Query
SELECT punycodeDecode('Mnchen-3ya')
Response
┌─punycodeDecode('Mnchen-3ya')─┐
│ München                      │
└──────────────────────────────┘

punycodeEncode

Добавленный в: v24.1.0 Возвращает строку в представлении Punycode. Строка должна быть закодирована в UTF-8, в противном случае поведение не определено. Синтаксис
punycodeEncode(s)
Аргументы
  • s — Входное значение. String
Возвращаемое значение Возвращает входное значение в представлении Punycode. String Примеры Пример использования
Query
SELECT punycodeEncode('München')
Response
┌─punycodeEncode('München')─┐
│ Mnchen-3ya                │
└───────────────────────────┘

regexpExtract

Добавленный в: v23.2.0 Извлекает из haystack первую подстроку, которая соответствует шаблону регулярного выражения и указанному индексу группы. Синтаксис
regexpExtract(haystack, pattern[, index])
Псевдонимы: REGEXP_EXTRACT Аргументы
  • haystack — String, строка, в которой ищется совпадение с шаблоном регулярного выражения. String
  • pattern — String, регулярное выражение. pattern может содержать несколько групп регулярного выражения, а index указывает, какую именно группу нужно извлечь. Индекс 0 означает совпадение со всем регулярным выражением. const String
  • index — Необязательный. Целое число, большее или равное 0, со значением по умолчанию 1. Указывает, какую группу регулярного выражения нужно извлечь. (U)Int*
Возвращаемое значение Возвращает совпадение в виде строки String Примеры Пример использования
Query
SELECT
    regexpExtract('100-200', '(\\d+)-(\\d+)', 1),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 2),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 0),
    regexpExtract('100-200', '(\\d+)-(\\d+)');
Response
┌─regexpExtract('100-200', '(\\d+)-(\\d+)', 1)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 2)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 0)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)')─┐
│ 100                                          │ 200                                          │ 100-200                                      │ 100                                       │
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────────────────────────────────┘

regexpPosition

Добавленный в: v26.5.0 Возвращает позицию в байтах (с отсчётом от 1) occurrence-го вхождения pattern в haystack, начиная поиск с байтовой позиции position. Если return_option равен 0 (по умолчанию), возвращается позиция первого байта совпадения. Если 1 — позиция первого байта после совпадения. Если subexpression больше 0, вместо позиции всего совпадения возвращается позиция соответствующей группы захвата. Возвращает 0, если совпадение не найдено или если запрошенная группа захвата не участвовала в совпадении. Функция предоставляется для совместимости с regexp_instr в PostgreSQL (и также доступна под этим псевдонимом). Обратите внимание: позиции измеряются в байтах, как и в других функциях ClickHouse для работы с регулярными выражениями; в PostgreSQL regexp_instr использует символьные позиции. Синтаксис
regexpPosition(haystack, pattern[, position[, occurrence[, return_option[, flags[, subexpression]]]]])
Псевдонимы: regexpInstr, regexp_instr Аргументы
  • haystack — Строка, в которой выполняется поиск. String
  • pattern — Шаблон регулярного выражения. const String
  • position — Необязательно. Позиция в байтах, начиная с 1, с которой начинается поиск. По умолчанию: 1. (U)Int*
  • occurrence — Необязательно. Какое по счёту совпадение вернуть. По умолчанию: 1. (U)Int*
  • return_option — Необязательно. 0 возвращает позицию начала совпадения, 1 — позицию сразу после совпадения. По умолчанию: 0. (U)Int*
  • flags — Необязательно. Флаги регулярного выражения. Поддерживаются: i (регистронезависимый), c (с учётом регистра), m/n (многострочные якоря), s (точка соответствует символу новой строки). По умолчанию: пустая строка. const String
  • subexpression — Необязательно. Индекс группы захвата, позицию которой нужно вернуть. 0 означает всё совпадение. По умолчанию: 0. (U)Int*
Возвращаемое значение Возвращает позицию совпадения в байтах или 0, если совпадение не найдено. UInt64 Примеры Базовое использование
Query
SELECT
    regexpPosition('hello world', 'world'),
    regexpPosition('aXbXcXd', 'X', 1, 2),
    regexpPosition('aXbXcXd', 'X', 1, 2, 1),
    regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i'),
    regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2);
Response
┌─...─┬─...─┬─...─┬─...─┬─...─┐
│   7 │   4 │   5 │   7 │  10 │
└─────┴─────┴─────┴─────┴─────┘

removeDiacriticsUTF8

Добавленный в: v26.3.0 Удаляет диакритические знаки (акценты) из строки UTF-8, разлагая символы с помощью NFD, удаляя комбинируемые знаки (категория Unicode Mn), а затем повторно компонуя их с помощью NFC. Синтаксис
removeDiacriticsUTF8(str)
Псевдонимы: removeAccentsUTF8 Аргументы
  • str — входная строка в кодировке UTF-8. String
Возвращаемое значение Строка в кодировке UTF-8 без диакритических знаков. String Примеры Базовое удаление диакритических знаков
Query
SELECT removeDiacriticsUTF8('café résumé naïve')
Response
┌─removeDiacriticsUTF8('café résumé naïve')─┐
│ cafe resume naive                          │
└────────────────────────────────────────────┘

repeat

Добавленный в: v20.1.0 Повторяет строку указанное количество раз. Синтаксис
repeat(s, n)
Аргументы
  • s — строка, которую нужно повторить. String
  • n — количество повторений строки. (U)Int*
Возвращаемое значение Строка, содержащая строку s, повторённую n раз. Если n отрицательно, функция возвращает пустую строку. String Примеры Пример использования
Query
SELECT repeat('abc', 10)
Response
┌─repeat('abc', 10)──────────────┐
│ abcabcabcabcabcabcabcabcabcabc │
└────────────────────────────────┘

reverseUTF8

Добавленный в: v1.1.0 Обращает последовательность кодовых точек Unicode в строке. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, не сгенерировать исключение, а результат не определён. Синтаксис
reverseUTF8(s)
Аргументы
  • s — String, содержащая корректный текст в кодировке UTF-8. String
Возвращаемое значение Возвращает строку, в которой последовательность кодовых точек Unicode записана в обратном порядке. String Примеры Пример использования
Query
SELECT reverseUTF8('ClickHouse')
Response
esuoHkcilC
Добавленный в: v22.1.0 Возвращает подстроку строки s с заданным смещением offset от правого края. Синтаксис
right(s, offset)
Аргументы
  • s — Строка, из которой извлекается подстрока. String или FixedString
  • offset — Количество байт смещения. (U)Int*
Возвращаемое значение Возвращает:
  • Для положительного offset — подстроку s длиной offset байт, отсчитываемую от конца строки.
  • Для отрицательного offset — подстроку s длиной length(s) - |offset| байт, отсчитываемую от конца строки.
  • Пустую строку, если length равно 0. String
Примеры Положительное смещение
Query
SELECT right('Hello', 3)
Response
llo
Отрицательное смещение
Query
SELECT right('Hello', -3)
Response
lo

rightPad

Добавленный в: v21.8.0 Дополняет строку справа пробелами или указанной строкой (при необходимости — повторяя её), пока итоговая строка не достигнет заданной length. Синтаксис
rightPad(string, length[, pad_string])
Псевдонимы: rpad Аргументы
  • string — Исходная строка, которую нужно дополнить. String
  • length — Длина результирующей строки. Если значение меньше длины входной строки, входная строка укорачивается до length символов. (U)Int*
  • pad_string — Необязательно. Строка, которой дополняется исходная строка. Если не указана, исходная строка дополняется пробелами. String
Возвращаемое значение Возвращает строку заданной длины, дополненную справа. String Примеры Пример использования
Query
SELECT rightPad('abc', 7, '*'), rightPad('abc', 7)
Response
┌─rightPad('abc', 7, '*')─┬─rightPad('abc', 7)─┐
│ abc****                 │ abc                │
└─────────────────────────┴────────────────────┘

rightPadUTF8

Добавленный в: v21.8.0 Дополняет строку справа пробелами или указанной строкой (при необходимости повторяя её), пока итоговая строка не достигнет заданной длины. В отличие от rightPad, который измеряет длину строки в байтах, здесь длина строки измеряется в кодовых точках. Синтаксис
rightPadUTF8(string, length[, pad_string])
Аргументы
  • string — Входная строка, которую нужно дополнить. String
  • length — Длина результирующей строки. Если значение меньше длины входной строки, входная строка укорачивается до length символов. (U)Int*
  • pad_string — Необязательно. Строка, которой дополняется входная строка. Если не указана, входная строка дополняется пробелами. String
Возвращаемое значение Возвращает строку заданной длины, дополненную справа. String Примеры Пример использования
Query
SELECT rightPadUTF8('абвг', 7, '*'), rightPadUTF8('абвг', 7)
Response
┌─rightPadUTF8('абвг', 7, '*')─┬─rightPadUTF8('абвг', 7)─┐
│ абвг***                      │ абвг                    │
└──────────────────────────────┴─────────────────────────┘

rightUTF8

Добавленный в: v22.1.0 Возвращает подстроку UTF-8-кодированной строки s с указанным offset, отсчитываемым справа. Синтаксис
rightUTF8(s, offset)
Аргументы
  • s — Строка в кодировке UTF-8, из которой извлекается подстрока. String или FixedString
  • offset — Смещение в байтах. (U)Int*
Возвращаемое значение Возвращает:
  • Для положительного offset — подстроку s длиной offset байт, отсчитываемую от конца строки.
  • Для отрицательного offset — подстроку s длиной length(s) - |offset| байт, отсчитываемую от конца строки.
  • Пустую строку, если length равно 0. String
Примеры Положительное смещение
Query
SELECT rightUTF8('Привет', 4)
Response
ивет
Отрицательный OFFSET
Query
SELECT rightUTF8('Привет', -4)
Response
ет

soundex

Добавленный в: v23.4.0 Возвращает код Soundex для строки. Синтаксис
soundex(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает код Soundex для входной строки. String Примеры Пример использования
Query
SELECT soundex('aksel')
Response
┌─soundex('aksel')─┐
│ A240             │
└──────────────────┘

space

Добавленный в: v23.5.0 Повторяет пробел ( ) указанное количество раз. Синтаксис
space(n)
Аргументы
  • n — Количество повторений пробела. (U)Int*
Возвращаемое значение Возвращает строку из n пробелов. Если n <= 0, функция возвращает пустую строку. String Примеры Пример использования
Query
SELECT space(3) AS res, length(res);
Response
┌─res─┬─length(res)─┐
│     │           3 │
└─────┴─────────────┘

sparseGrams

Добавленный в: v25.5.0 Находит все подстроки заданной строки длиной не менее n, для которых хеши (n-1)-грамм на границах подстроки строго больше хешей любой (n-1)-граммы внутри неё. Использует CRC32 в качестве хеш-функции. Синтаксис
sparseGrams(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])
Аргументы
  • s — Входная строка. String
  • min_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
SELECT sparseGrams('alice', 3)
Response
┌─sparseGrams('alice', 3)────────────┐
│ ['ali','lic','lice','ice']         │
└────────────────────────────────────┘

sparseGramsHashes

Добавленный в: v25.5.0 Находит хеши всех подстрок заданной строки длиной не менее n, у которых хеши (n-1)-грамм на границах подстроки строго больше хешей любой (n-1)-граммы внутри подстроки. Использует CRC32 в качестве хеш-функции. Синтаксис
sparseGramsHashes(s[, min_ngram_length, max_ngram_length])
Аргументы
  • s — Входная строка. String
  • min_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*
Возвращаемое значение Возвращает массив CRC32-хешей выбранных подстрок. Array(UInt32) Примеры Пример использования
Query
SELECT sparseGramsHashes('alice', 3)
Response
┌─sparseGramsHashes('alice', 3)──────────────────────┐
│ [1481062250,2450405249,4012725991,1918774096]      │
└────────────────────────────────────────────────────┘

sparseGramsHashesUTF8

Добавленный в: v25.5.0 Находит хеши всех подстрок заданной UTF-8 строки длиной не менее n, для которых хеши (n-1)-грамм на границах подстроки строго больше, чем у любой (n-1)-граммы внутри подстроки. Ожидает UTF-8 строку; в случае недопустимой последовательности UTF-8 генерирует исключение. Использует CRC32 как хеш-функцию. Синтаксис
sparseGramsHashesUTF8(s[, min_ngram_length, max_ngram_length])
Аргументы
  • s — Входная строка. String
  • min_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*
Возвращаемое значение Возвращает массив CRC32-хэшей выбранных UTF-8-подстрок. Array(UInt32) Примеры Пример использования
Query
SELECT sparseGramsHashesUTF8('алиса', 3)
Response
┌─sparseGramsHashesUTF8('алиса', 3)─┐
│ [4178533925,3855635300,561830861] │
└───────────────────────────────────┘

sparseGramsUTF8

Добавленный в: v25.5.0 Находит все подстроки заданной UTF-8 строки длиной не менее n, у которых хеши (n-1)-грамм на границах подстроки строго больше, чем у любой (n-1)-граммы внутри неё. Ожидает UTF-8 строку; генерирует исключение при недопустимой последовательности UTF-8. Использует CRC32 в качестве хеш-функции. Синтаксис
sparseGramsUTF8(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])
Аргументы
  • s — Входная строка. String
  • min_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*
Возвращаемое значение Возвращает массив выбранных UTF-8-подстрок. Array(String) Примеры Пример использования
Query
SELECT sparseGramsUTF8('алиса', 3)
Response
┌─sparseGramsUTF8('алиса', 3)─┐
│ ['али','лис','иса']         │
└─────────────────────────────┘

startsWith

Добавленный в: v1.1.0 Проверяет, начинается ли строка с заданной подстроки. Синтаксис
startsWith(s, prefix)
Аргументы
  • s — Строка для проверки. String
  • prefix — Префикс, наличие которого нужно проверить. String
Возвращаемое значение Возвращает 1, если s начинается с prefix, иначе — 0. UInt8 Примеры Пример использования
Query
SELECT startsWith('ClickHouse', 'Click');
Response
┌─startsWith('⋯', 'Click')─┐
│                        1 │
└──────────────────────────┘

startsWithCaseInsensitive

Добавленный в: v25.10.0 Проверяет, начинается ли строка с указанной строки без учёта регистра. Синтаксис
startsWithCaseInsensitive(s, prefix)
Аргументы
  • s — Строка, которую нужно проверить. String
  • prefix — Регистронезависимый префикс, наличие которого нужно проверить. String
Возвращаемое значение Возвращает 1, если s начинается с prefix без учёта регистра, в противном случае — 0. UInt8 Примеры Пример использования
Query
SELECT startsWithCaseInsensitive('ClickHouse', 'CLICK');
Response
┌─startsWithCaseInsensitive('⋯', 'CLICK')─┐
│                                       1 │
└─────────────────────────────────────────┘

startsWithCaseInsensitiveUTF8

Добавленный в: v25.10.0 Проверяет, начинается ли строка с указанного регистронезависимого префикса. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксис
startsWithCaseInsensitiveUTF8(s, prefix)
Аргументы
  • s — Строка, которую нужно проверить. String
  • prefix — Регистронезависимый префикс, наличие которого нужно проверить. String
Возвращаемое значение Возвращает 1, если s начинается с регистронезависимого prefix, иначе 0. UInt8 Примеры Пример использования
Query
SELECT startsWithCaseInsensitiveUTF8('приставка', 'при')
Response
┌─startsWithUT⋯ка', 'при')─┐
│                        1 │
└──────────────────────────┘

startsWithUTF8

Добавленный в: v23.8.0 Проверяет, начинается ли строка с указанного префикса. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксис
startsWithUTF8(s, prefix)
Аргументы
  • s — Строка, которую нужно проверить. String
  • prefix — Префикс, наличие которого нужно проверить. String
Возвращаемое значение Возвращает 1, если s начинается с prefix, иначе — 0. UInt8 Примеры Пример использования
Query
SELECT startsWithUTF8('приставка', 'при')
Response
┌─startsWithUT⋯ка', 'при')─┐
│                        1 │
└──────────────────────────┘

stringBytesEntropy

Добавленный в: v25.6.0 Вычисляет энтропию Шеннона распределения байтов в строке. Синтаксис
stringBytesEntropy(s)
Аргументы
  • s — строка для анализа. String
Возвращаемое значение Возвращает энтропию Шеннона для распределения байтов в строке. Float64 Примеры Пример использования
Query
SELECT stringBytesEntropy('Hello, world!')
Response
┌─stringBytesEntropy('Hello, world!')─┐
│                         3.07049960  │
└─────────────────────────────────────┘

stringBytesUniq

Добавленный в: v25.6.0 Подсчитывает число уникальных байтов в строке. Синтаксис
stringBytesUniq(s)
Аргументы
  • s — анализируемая строка. String
Возвращаемое значение Количество различных байтов в строке. UInt16 Примеры Пример использования
Query
SELECT stringBytesUniq('Hello')
Response
┌─stringBytesUniq('Hello')─┐
│                        4 │
└──────────────────────────┘

stringJaccardIndex

Добавленный в: v23.11.0 Вычисляет индекс сходства Жаккара для двух байтовых строк. Синтаксис
stringJaccardIndex(s1, s2)
Аргументы
  • s1 — Первая входная строка. String
  • s2 — Вторая входная строка. String
Возвращаемое значение Возвращает индекс сходства по Жаккару для двух строк. Float64 Примеры Пример использования
Query
SELECT stringJaccardIndex('clickhouse', 'mouse')
Response
┌─stringJaccardIndex('clickhouse', 'mouse')─┐
│                                       0.4 │
└───────────────────────────────────────────┘

stringJaccardIndexUTF8

Добавленный в: v23.11.0 Аналог stringJaccardIndex, но для строк в кодировке UTF8. Синтаксис
stringJaccardIndexUTF8(s1, s2)
Аргументы
  • s1 — Первая входная строка в кодировке UTF-8. String
  • s2 — Вторая входная строка в кодировке UTF-8. String
Возвращаемое значение Возвращает индекс сходства Жаккара для двух строк в кодировке UTF-8. Float64 Примеры Пример использования
Query
SELECT stringJaccardIndexUTF8('我爱你', '我也爱你')
Response
┌─stringJaccardIndexUTF8('我爱你', '我也爱你')─┐
│                                       0.75 │
└─────────────────────────────────────────────┘

substring

Добавленный в: v1.1.0 Возвращает подстроку строки s, начинающуюся с указанного байтового смещения offset. Подсчёт байтов начинается с 1 по следующей логике:
  • Если offset равен 0, возвращается пустая строка.
  • Если offset отрицательный, подстрока начинается на offset символов от конца строки, а не от её начала.
Необязательный аргумент length задаёт максимальное количество байтов в возвращаемой подстроке. Синтаксис
substring(s, offset[, length])
Псевдонимы: byteSlice, mid, substr Аргументы
  • s — Строка, из которой извлекается подстрока. String или FixedString или Enum
  • offset — Начальная позиция подстроки в s. (U)Int*
  • length — Необязательный параметр. Максимальная длина подстроки. (U)Int*
Возвращаемое значение Возвращает подстроку из s длиной length байт, начиная с индекса offset. String Примеры Базовое использование
Query
SELECT 'database' AS db, substr(db, 5), substr(db, 5, 1)
Response
┌─db───────┬─substring('database', 5)─┬─substring('database', 5, 1)─┐
│ database │ base                     │ b                           │
└──────────┴──────────────────────────┴─────────────────────────────┘

substringIndex

Добавленный в: v23.7.0 Возвращает подстроку s до первых count вхождений разделителя delim, как в Spark или MySQL. Синтаксис
substringIndex(s, delim, count)
Псевдонимы: SUBSTRING_INDEX Аргументы
  • s — Строка, из которой нужно извлечь подстроку. String
  • delim — Символ-разделитель. String
  • count — Количество вхождений разделителя, которое нужно учесть перед извлечением подстроки. Если count положительный, возвращается всё слева от последнего разделителя (считая слева). Если count отрицательный, возвращается всё справа от последнего разделителя (считая справа). UInt или Int
Возвращаемое значение Возвращает подстроку строки s до count-го вхождения delim. String Примеры Пример использования
Query
SELECT substringIndex('www.clickhouse.com', '.', 2)
Response
┌─substringIndex('www.clickhouse.com', '.', 2)─┐
│ www.clickhouse                               │
└──────────────────────────────────────────────┘

substringIndexUTF8

Добавленный в: v23.7.0 Возвращает подстроку s до count вхождений разделителя delim; функция работает с кодовыми точками Unicode. Предполагается, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён. Синтаксис
substringIndexUTF8(s, delim, count)
Аргументы
  • s — Строка, из которой извлекается подстрока. String
  • delim — Символ-разделитель. String
  • count — Количество вхождений разделителя, которое нужно отсчитать перед извлечением подстроки. Если count положительный, возвращается всё слева от последнего разделителя (при отсчёте слева). Если count отрицательный, возвращается всё справа от последнего разделителя (при отсчёте справа). UInt или Int
Возвращаемое значение Возвращает подстроку s до count-го вхождения delim. String Примеры Пример UTF8
Query
SELECT substringIndexUTF8('www.straßen-in-europa.de', '.', 2)
Response
www.straßen-in-europa

substringUTF8

Добавленный в: v1.1.0 Возвращает подстроку строки s, начинающуюся с указанной кодовой точки с индексом offset. Отсчет кодовых точек начинается с 1 по следующей логике:
  • Если offset равен 0, возвращается пустая строка.
  • Если offset отрицательный, подстрока начинается с кодовой точки, расположенной на offset позиций от конца строки, а не от начала.
Необязательный аргумент length задает максимальное количество кодовых точек в возвращаемой подстроке.
Эта функция предполагает, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не сгенерируется, а результат будет неопределенным.
Синтаксис
substringUTF8(s, offset[, length])
Аргументы
  • s — Строка, из которой извлекается подстрока. String или FixedString или Enum
  • offset — Начальная позиция подстроки в s. Int или UInt
  • length — Максимальная длина подстроки. Необязательный параметр. Int или UInt
Возвращаемое значение Возвращает подстроку из s длиной length кодовых точек, начиная с кодовой точки с индексом offset. String Примеры Пример использования
Query
SELECT 'Täglich grüßt das Murmeltier.' AS str, substringUTF8(str, 9), substringUTF8(str, 9, 5)
Response
Täglich grüßt das Murmeltier.    grüßt das Murmeltier.    grüßt

toValidUTF8

Добавленный в: v20.1.0 Преобразует строку в корректную UTF-8-последовательность, заменяя любые недопустимые символы UTF-8 символом замены (U+FFFD). Если обнаруживается несколько недопустимых символов подряд, они заменяются одним символом замены. Синтаксис
toValidUTF8(s)
Аргументы
  • s — Любая последовательность байтов, представленная объектом типа данных String. String
Возвращаемое значение Возвращает допустимую строку UTF-8. String Примеры Пример использования
Query
SELECT toValidUTF8('\\x61\\xF0\\x80\\x80\\x80b')
Response
c
┌─toValidUTF8('a����b')─┐
│ a�b                   │
└───────────────────────┘

trimBoth

Добавленный в: v20.1.0 Удаляет указанные символы в начале и конце строки. По умолчанию удаляет стандартные символы-пробелы (ASCII). Синтаксис
trimBoth(s[, trim_characters])
Псевдонимы: trim Аргументы
  • s — Обрезаемая строка. String
  • trim_characters — Необязательно. Символы, которые нужно удалить. Если не указано, удаляются стандартные пробельные символы. String
Возвращаемое значение Возвращает строку, у которой указанные символы удалены с обоих концов. String Примеры Пример использования
Query
SELECT trimBoth('$$ClickHouse$$', '$')
Response
┌─trimBoth('$$⋯se$$', '$')─┐
│ ClickHouse               │
└──────────────────────────┘

trimLeft

Добавленный в: v20.1.0 Удаляет указанные символы в начале строки. По умолчанию удаляет распространённые пробельные символы (ASCII). Синтаксис
trimLeft(input[, trim_characters])
Псевдонимы: ltrim Аргументы
  • input — Строка, из которой удаляются символы. String
  • trim_characters — Необязательно. Символы, которые нужно удалить. Если не указано, удаляются распространённые пробельные символы. String
Возвращаемое значение Возвращает строку, из которой указанные символы удалены слева. String Примеры Пример использования
Query
SELECT trimLeft('ClickHouse', 'Click');
Response
┌─trimLeft('Cl⋯', 'Click')─┐
│ House                    │
└──────────────────────────┘

trimRight

Добавленный в: v20.1.0 Удаляет указанные символы с конца строки. По умолчанию удаляет стандартные пробельные символы (ASCII). Синтаксис
trimRight(s[, trim_characters])
Псевдонимы: rtrim Аргументы
  • s — Строка, из которой нужно удалить символы. String
  • trim_characters — Необязательные символы для удаления. Если не указаны, удаляются обычные пробельные символы. String
Возвращаемое значение Возвращает строку, у которой указанные символы удалены справа. String Примеры Пример использования
Query
SELECT trimRight('ClickHouse','House');
Response
┌─trimRight('C⋯', 'House')─┐
│ Click                    │
└──────────────────────────┘

tryBase32Decode

Добавленный в: v25.6.0 Принимает строку и декодирует её по схеме кодирования Base32. Синтаксис
tryBase32Decode(encoded)
Аргументы
  • encoded — столбец String или константа, которую нужно декодировать. Если строка не является корректной строкой в кодировке Base32, то в случае ошибки возвращается пустая строка. String
Возвращаемое значение Возвращает строку, содержащую декодированное значение аргумента. String Примеры Пример использования
Query
SELECT tryBase32Decode('IVXGG33EMVSA====');
Response
┌─tryBase32Decode('IVXGG33EMVSA====')─┐
│ Encoded                             │
└─────────────────────────────────────┘

tryBase58Decode

Добавленный в: v22.10.0 Аналогично base58Decode, но в случае ошибки возвращает пустую строку. Синтаксис
tryBase58Decode(encoded[, expected_size])
Аргументы
  • encoded — Столбец типа String или константа. Если строка некорректно закодирована в Base58, в случае ошибки возвращается пустая строка. String
  • expected_size — Необязательно. Ожидаемый размер декодированного значения в байтах. Если указано 32 или 64, используется оптимизированный декодер; для других значений используется универсальный декодер. UInt8, UInt16, UInt32, or UInt64
Возвращаемое значение Возвращает строку с декодированным значением аргумента. String Примеры Пример использования
Query
SELECT tryBase58Decode('3dc8KtHrwM') AS res, tryBase58Decode('invalid') AS res_invalid;
Response
┌─res─────┬─res_invalid─┐
│ Encoded │             │
└─────────┴─────────────┘

tryBase64Decode

Добавленный в: v18.16.0 Аналогично base64Decode, но в случае ошибки возвращает пустую строку. Синтаксис
tryBase64Decode(encoded)
Аргументы
  • encoded — столбец String или константа для декодирования. Если строка не является корректной строкой в кодировке Base64, в случае ошибки возвращается пустая строка. String
Возвращаемое значение Возвращает строку, содержащую декодированное значение аргумента. String Примеры Пример использования
Query
SELECT tryBase64Decode('Y2xpY2tob3VzZQ==')
Response
┌─tryBase64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                          │
└─────────────────────────────────────┘

tryBase64URLDecode

Добавленный в: v18.16.0 Аналогична base64URLDecode, но в случае ошибки возвращает пустую строку. Синтаксис
tryBase64URLDecode(encoded)
Аргументы
  • encoded — столбец типа String или константа для декодирования. Если строка не является допустимой строкой в кодировке Base64, то в случае ошибки возвращается пустая строка. String
Возвращаемое значение Возвращает строку с декодированным значением аргумента. String Примеры Пример использования
Query
SELECT tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
Response
┌─tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                               │
└──────────────────────────────────────────────────────┘

tryIdnaEncode

Добавленный в: v24.1.0 Возвращает доменное имя в представлении Unicode (UTF-8) по алгоритму ToUnicode в соответствии с механизмом Internationalized Domain Names in Applications (IDNA). В случае ошибки возвращает пустую строку вместо того, чтобы генерировать исключение. Синтаксис
tryIdnaEncode(s)
Аргументы
  • s — Входная строка. String
Возвращаемое значение Возвращает ASCII-представление входной строки в соответствии с механизмом IDNA для указанного входного значения либо пустую строку, если входное значение недопустимо. String Примеры Пример использования
Query
SELECT tryIdnaEncode('straße.münchen.de')
Response
┌─tryIdnaEncode('straße.münchen.de')──┐
│ xn--strae-oqa.xn--mnchen-3ya.de     │
└─────────────────────────────────────┘

tryPunycodeDecode

Добавленный в: v24.1.0 Как punycodeDecode, но возвращает пустую строку, если передана невалидная строка, закодированная в Punycode. Синтаксис
tryPunycodeDecode(s)
Аргументы
  • s — строка, закодированная в Punycode. String
Возвращаемое значение Возвращает открытый текст входного значения или пустую строку, если входное значение недопустимо. String Примеры Пример использования
Query
SELECT tryPunycodeDecode('Mnchen-3ya')
Response
┌─tryPunycodeDecode('Mnchen-3ya')─┐
│ München                         │
└─────────────────────────────────┘

upper

Добавленный в: v1.1.0 Преобразует ASCII-символы латиницы в строке в верхний регистр. Синтаксис
upper(s)
Псевдонимы: ucase Аргументы
  • s — Строка, которую нужно преобразовать в верхний регистр. String
Возвращаемое значение Возвращает строку s в верхнем регистре. String Примеры Пример использования
Query
SELECT upper('clickhouse')
Response
┌─upper('clickhouse')─┐
│ CLICKHOUSE          │
└─────────────────────┘

upperUTF8

Добавленный в: v1.1.0 Преобразует строку в верхний регистр, предполагая, что строка содержит корректный текст в кодировке UTF-8. Если это предположение нарушено, исключение не генерируется, а результат не определён.
Эта функция не определяет язык, поэтому, например, для турецкого языка результат может быть не совсем корректным (i/İ vs. i/I). Если длина последовательности байтов UTF-8 различается для одного и того же кодового символа в верхнем и нижнем регистре (например, и ß), результат для этого кодового символа может быть некорректным.
Синтаксис
upperUTF8(s)
Аргументы
  • s — строкового типа. String
Возвращаемое значение Значение типа String. String Примеры Пример использования
Query
SELECT upperUTF8('München') AS Upperutf8
Response
┌─Upperutf8─┐
│ MÜNCHEN   │
└───────────┘
Последнее изменение 10 июня 2026 г.