Функции для поиска в строках
Все функции в этом разделе по умолчанию осуществляют поиск с учетом регистра. Поиск без учета регистра обычно предоставляется отдельными вариантами функций. Обратите внимание, что поиск без учета регистра следует правилам перевода в нижний и верхний регистры английского языка. Например, заглавная буква i
в английском языке это I
, тогда как в турецком языке это İ
. Результаты для языков, отличных от английского, могут быть неожиданными.
Функции в этом разделе также предполагают, что искомая строка и строка поиска кодируются текстом с однобайтовой кодировкой. В случае отклонения от этого предположения, система не генерирует исключений, и результат поиска остается неопределенным. Для работы со строками, закодированными в UTF-8, обычно предоставляются специализированные версии функций. Аналогично, использование функций, предназначенных для работы с UTF-8, с текстом, не закодированным в UTF-8, не приводит к генерации исключений, и результаты также остаются неопределенными. Обратите внимание, что автоматическая нормализация Unicode не выполняется, для этого можно использовать функции normalizeUTF8*()
.
Общие функции для работы со строками и функции для замены в строках описаны отдельно.
Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список функций для поиска в строках для ClickHouse 24.7. |
Функция | Описание |
---|---|
|
Возвращает позицию (в байтах, начиная с 1) подстроки |
|
Поиск позиции подстроки в строке без учета регистра. |
|
Поиск позиции подстроки в UTF-8 строке. |
|
Поиск позиции подстроки в UTF-8 строке без учета регистра. |
|
Возвращает массив позиций для множества подстрок в строке. |
|
Поиск всех позиций множества подстрок в UTF-8 строке. |
|
Возвращает наименьшую позицию среди всех указанных подстрок в строке. |
|
Возвращает индекс первой найденной подстроки из списка в строке. |
|
Возвращает 1, если хотя бы одна из указанных подстрок найдена в строке, иначе 0. |
|
Возвращает |
|
Проверяет соответствие строки хотя бы одному из регулярных выражений. |
|
Возвращает индекс регулярного выражения, которому соответствует строка. |
|
Возвращает массив индексов всех регулярных выражений, которым соответствует строка. |
|
Проверяет соответствие строки хотя бы одному из регулярных выражений с учетом допустимого расстояния редактирования. |
|
Извлекает фрагмент строки, соответствующий регулярному выражению. |
|
Извлекает все фрагменты строки, соответствующие регулярному выражению. |
|
Возвращает массив массивов, где каждый массив содержит фрагменты строки, соответствующие каждой группе в регулярном выражении. |
|
Возвращает массив массивов, где каждый внутренний массив содержит фрагменты, соответствующие группам в порядке их появления в строке. |
|
Возвращает true, если строка соответствует шаблону |
|
Возвращает true, если строка не соответствует шаблону |
|
Поиск в строке без учета регистра, аналог LIKE. |
|
Возвращает true, если строка не соответствует шаблону |
|
Вычисляет расстояние между строками на основе 4-грамм. |
|
Похоже на |
|
Возвращает количество вхождений подстроки в строку. |
|
Возвращает количество совпадений регулярного выражения в строке. |
|
Извлекает подстроку, соответствующую индексу группы в регулярном выражении. |
|
Возвращает 1, если подстрока является подпоследовательностью строки, иначе 0. |