#sql #snowflake-cloud-data-platform #sql-like
#sql #snowflake-cloud-data-platform #sql-подобный
Вопрос:
У меня есть значения, содержащие символы, отличные от ascii, которые я хотел бы отфильтровать и подсчитать, сколько раз они встречаются в столбце:
Пример
Human Soft Canada (HSC) inc. - VAR
Я хочу извлечь все значения в col1, которые содержат ‘()’ — по сути, взять все, что имеет ‘()’, заполненное с помощью (*) .
Это мой код прямо сейчас с оператором like, но, похоже, он не работает
SELECT * FROM table where col1 like '%(*)%';
Комментарии:
1. Пожалуйста, добавьте, как вы хотели бы, чтобы результат выглядел
2. Не могли бы вы уточнить требование? Символы (и ) находятся в наборе ASCII. Вы ищете символы, отличные от ASCII, или круглые скобки? Если вы ищете открытые и закрытые круглые скобки, ваш фильтр like должен быть ‘% (%)%’ вместо наличия звездочки внутри круглой скобки.
3. Для подсчета парных вхождений…
regexp_count(col1, '[\(\)]')
4. На самом деле, обратная косая черта здесь не нужна, так что…
regexp_count(col1, '[()]')