REGEXP_LIKE
Проверяет, есть ли в строке совпадение с регулярным выражением.
PostgreSQL 17.9
REGEXP_LIKE(string, pattern[, flags])- [ ]необязательная часть
- string
- Строка, в которой выполняется поискtext
- pattern
- Регулярное выражениеtext
- flags
- Флаги, например i — без учёта регистраtextНеобязательныйbceimnpqstwx
Возвращаемое значение
true или false; NULL, если string или pattern равны NULL
Примеры
С учётом регистра и без
PostgreSQL 17.9
SELECT REGEXP_LIKE('PostgreSQL', 'sql') AS case_sensitive,
REGEXP_LIKE('PostgreSQL', 'sql', 'i') AS ignore_case;Пользователи с почтой Gmail или Hotmail
PostgreSQL 17.9
SELECT name,
email
FROM Users
WHERE REGEXP_LIKE(email, '@(gmail|hotmail)\.com$')
LIMIT 5;Подробности
Функция появилась в PostgreSQL 15. Она делает то же, что оператор ~ (и ~* без учёта регистра). Совпадение ищется в любом месте строки: чтобы проверить строку целиком, добавьте в шаблон ^ и $.