Счетчик SELECT (*) ИЗ таблицы ГДЕ столбец ilike "% /%";
дает мне количество значений, содержащих "/"
Как сделать то же самое для "\"?
SELECT count(*) FROM table WHERE column ILIKE '%\\\\%';
Выдержка из документов :
Обратите внимание, что обратная косая черта уже имеет специальное значение в строковых литералах, поэтому для записи константы шаблона, содержащей обратную косую черту, необходимо написать две обратные косые черты в операторе SQL (при условии использования синтаксиса escape-строки см. Раздел 4.1.2.1). Таким образом, написание шаблона, который на самом деле соответствует буквальному обратному слешу, означает запись четырех обратных наклонных черт в утверждении. Вы можете избежать этого, выбрав другой escape-символ с ESCAPE; тогда обратный слеш больше не является особенным для LIKE. (Но он по-прежнему особенный для синтаксического анализатора строковых литералов, поэтому вам все еще нужны два из них.)
еще лучше - не используйте как, просто используйте стандартную позицию:
select count(*) from from table where 0 < position( E'\\' in column );
Вам необходимо E'\\\\', поскольку аргумент LIKE является регулярным выражением, а escape-символ регулярного выражения уже равен \ (например, ~ E'\\w' будет соответствовать любой строке, содержащей печатный символ).
E'\\\\'
LIKE
\
~ E'\\w'
См. документ