Запрос Clickhouse использует регулярное выражение

#regex #database #clickhouse

#регулярное выражение #База данных #clickhouse

Вопрос:

Я знаю, что clickhouse предоставляет функцию replaceRegexpOne(), но я хочу использовать регулярное выражение для запроса, а не для замены. Как MySQL:

 select username 
from table 
where username  REGEXP '^[0-9]*$'.
  

Надеюсь, вы сможете мне помочь, спасибо.

Ответ №1:

match() Я думаю, вы ищете.

match(haystack, pattern)

Проверяет, соответствует ли строка регулярному выражению шаблона. Регулярное выражение re2. Синтаксис регулярных выражений re2 более ограничен, чем синтаксис регулярных выражений Perl.

WHERE match(column, 'pattern')

https://clickhouse.tech/docs/en/sql-reference/functions/string-search-functions/#matchhaystack-pattern

Комментарии:

1. Спасибо, что помогли мне решить проблему. Я попытался использовать «Match (column,’pattern’)», но я получил сообщение об ошибке. Использование «match (column,’pattern’)» решило мою проблему, еще раз спасибо.