Функции для работы со строками
В RQL представлен набор функций, предназначенных для обработки текстовых данных. Функции для поиска в строках, замены в строках, разбиения и слияния строк и массивов рассмотрены отдельно.
Входные аргументы и возвращаемые значения имеют тип String, если в описании функции не указано иное.
Все функции с суффиксом UTF8 предполагают, что входная строка содержит корректный текст в кодировке UTF-8. Если строка не является корректной UTF-8 последовательностью, исключение не генерируется, а результат не определен. Однако функции sparseGramsUTF8() и sparseGramsHashesUTF8() ведут себя иначе — при некорректном UTF-8 генерируют исключение.
|
|
Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse. Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse. |
Функции работы с длиной и границами строк
| Функция | Описание |
|---|---|
|
Возвращает подстроку длиной
Возвращает:
|
|
Дополняет строку
|
|
Аналогично |
|
Аналогично |
|
Возвращает длину строки |
|
Возвращает подстроку длиной
Возвращает:
|
|
Дополняет строку
|
|
Аналогично |
|
Аналогично |
|
Удаляет указанные символы
|
|
Удаляет указанные символы
|
|
Удаляет указанные символы
|
Функции преобразования регистра
| Функция | Описание |
|---|---|
|
Преобразует первую букву каждого слова строки Поскольку |
|
Аналогично Эта функция не определяет язык, поэтому, для некоторых языков результат может быть не совсем корректным. Если длина последовательности байтов UTF-8 различается для верхнего и нижнего регистра кодовой точки, результат для этой кодовой точки может быть некорректным. |
|
Преобразует строку ASCII |
|
Преобразует строку |
|
Преобразует строку ASCII |
|
Преобразует строку |
Функции объединения и создания строк
| Функция | Описание |
|---|---|
|
Возвращает строку |
|
Объединяет любое указанное количество аргументов произвольного типа. Возвращает строку типа Аргументы типа, отличного от |
|
Аналогично |
|
Объединяет указанные строки, используя заданный разделитель. Если значение любого из аргументов равно
Аргументы типа, отличного от |
|
Аналогично |
|
Возвращает строку, содержащую строку
|
|
Инвертирует последовательность кодовых точек Unicode в строке |
|
Возвращает строку, состоящую из пробелов, повторенных |
Функции поиска, проверки и извлечения подстрок
| Функция | Описание |
|---|---|
|
Извлекает конечную часть строки Часто используется для извлечения имени файла из пути. |
|
Проверяет, заканчивается ли строка |
|
Проверяет, заканчивается ли строка |
|
Извлекает текстовое содержимое из HTML или XHTML строки Выполняет:
HTML-сущности не декодируются. При необходимости их следует обрабатывать функцией |
|
Возвращает первую строку из многострочной входной строки |
|
Извлекает первое совпадение с регулярным выражением
|
|
Проверяет, начинается ли строка |
|
Проверяет, начинается ли строка |
|
Возвращает подстроку строки
|
|
Возвращает подстроку строки
|
|
Аналогично |
|
Аналогично |
Функции кодирования и декодирования строк
| Функция | Описание |
|---|---|
|
Возвращает строку, содержащую декодированное значение параметра |
|
Возвращает строку типа |
|
Возвращает строку, содержащую декодированное значение параметра
Если выбран оптимизированный декодер, но входную строку нельзя декодировать ровно в такое количество байтов, функция генерирует исключение. |
|
Возвращает строку в формате Base58, содержащую закодированное значение исходного текста |
|
Возвращает строку, содержащую декодированное значение параметра |
|
Возвращает строку в формате Base64 (RFC 4648), содержащую закодированное значение исходного текста |
|
Возвращает строку, содержащую декодированное значение параметра |
|
Возвращает строку в формате Base64 (RFC 4648) с использованием URL-безопасного алфавита, содержащую закодированное значение исходного текста |
|
Возвращает строку с декодированными HTML-сущностями строки |
|
Возвращает строку с декодированными XML-сущностями строки |
|
Заменяет специальные символы XML в строке |
|
Возвращает представление входной строки Повторное применение функции может не вернуть исходную строку из-за нормализации регистра. |
|
Возвращает ASCII-представление входной строки Повторное применение функции может не вернуть исходную строку из-за нормализации регистра. |
|
Возвращает строку |
|
Возвращает строку |
|
Аналогично |
|
Аналогично |
|
Аналогично |
|
Аналогично |
|
Аналогично |
|
Аналогично |
Функции работы с кодировками и символами
| Функция | Описание |
|---|---|
|
Возвращает ASCII-код первого символа строки |
|
Возвращает строку |
|
Проверяет, является ли набор байтов |
|
Возвращает строку |
|
Возвращает строку |
|
Возвращает строку |
|
Возвращает строку |
|
Преобразует строку |
Функции хэширования и анализа байтов
| Функция | Описание |
|---|---|
|
Вычисляет контрольную сумму CRC32 для строки |
|
Вычисляет контрольную сумму CRC32 для строки |
|
Вычисляет контрольную сумму CRC64 для строки |
|
Вычисляет энтропию Шеннона распределения байтов в строке |
|
Подсчитывает число уникальных байтов в строке |
Функции сравнения и оценки сходства строк
| Функция | Описание |
|---|---|
|
Вычисляет расстояние Хэмминга между байтовыми строками |
|
Сравнивает заданные участки строк
|
|
Вычисляет расстояние Дамерау — Левенштейна между байтовыми строками |
|
Вычисляет расстояние редактирования (Левенштейна) между байтовыми строками |
|
Вычисляет расстояние редактирования (Левенштейна) между строками |
|
Вычисляет коэффициент сходства Джаро между байтовыми строками |
|
Вычисляет коэффициент сходства Джаро — Винклера между байтовыми строками |
|
Возвращает код Soundex типа |
|
Вычисляет индекс сходства Жаккара для байтовых строк |
|
Вычисляет индекс сходства Жаккара для строк |
Функции работы с N-граммами
| Функция | Описание |
|---|---|
|
Находит все подстроки заданной строки
|
|
Находит хэши всех подстрок заданной строки
|
|
Аналогично |
|
Аналогично |
Функции массивов, применимые к строкам
Некоторые функции для работы с массивами в ClickHouse являются полиморфными и могут применяться к строкам. Ниже приведены функции из раздела массивов, которые поддерживают строковые аргументы.
|
Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse. Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse. |
| Функция | Описание |
|---|---|
|
Проверяет, является ли входная строка Функция также поддерживает работу с типами |
|
Вычисляет длину строки Функция также поддерживает работу с другими типами данных:
При передаче аргумента типа Длина строки в байтах отличается от количества символов Unicode. Для точного подсчета символов используйте функцию |
|
Проверяет, является ли входная строка Функция также поддерживает работу с типами |
|
Изменяет порядок символов в исходной строке Функция также поддерживает работу с массивами типа |
Была ли полезна эта страница?