В PostgreSQL есть несколько средств поиска текста по шаблону. Наиболее часто используемый оператор LIKE языка SQL:

строка LIKE шаблон

В шаблоне LIKE можно использовать два спецсимвола

  • _ - заменяет один любой символ;
  • % - заменяет любую последовательность символов (в том числе пустую)

Несколько примеров:

'abc' LIKE 'abc'    true
'abc' LIKE 'a%'     true
'abc' LIKE '_b_'    true
'abc' LIKE 'c'      false

При проверке по шаблону LIKE всегда рассматривается вся строка. Поэтому, если нужно найти последовательность символов где-то в середине строки, шаблон должен начинаться и заканчиваться знаком %.

Чтобы найти в строке буквальное вхождение знака процента или подчёркивания, перед соответствующим символом в шаблоне нужно добавить спецсимвол. По умолчанию в качестве спецсимвола выбрана обратная косая черта \, но с помощью предложения ESCAPE можно выбрать и другой. Чтобы включить спецсимвол в шаблон поиска, продублируйте его. Синтаксис LIKE с указанием спецсимвола:

строка LIKE шаблон ESCAPE спецсимвол

например

'_asdfa' LIKE '$_asd%' ESCAPE '$'

Вместо LIKE можно использовать ключевое слово ILIKE, чтобы поиск был регистр-независимым с учётом текущей языковой среды.

2.6 IN

2.8 Обработка NULL значений