PostgreSQL | Несколько условий в LIKE — efim360.ru

PostgreSQL | Несколько условий в LIKE

То что тебе нужно называется SIMILAR TO.

Оператор SIMILAR TO точно также, как и LIKE, умеет работать с процентами % и нижними подчёркиваниями _, а для того чтобы выбрать одно из условий, нужно обернуть варианты в круглые скобки ( ) и между вариантами расставить вертикальные палочки |.

Пример работы оператора SIMILAR TO:

-- Очистка путей от угловых скобок

 

SELECT * FROM a.t_path WHERE path SIMILAR TO '%<%' LIMIT 10;

SELECT * FROM a.t_path WHERE path SIMILAR TO '%>%' LIMIT 10;

 

SELECT * FROM a.t_path WHERE path SIMILAR TO '%(<)%' LIMIT 10;

SELECT * FROM a.t_path WHERE path SIMILAR TO '%(>)%' LIMIT 10;

 

SELECT * FROM a.t_path WHERE path SIMILAR TO '%(<|>)%' LIMIT 10;

 

SELECT count(*) FROM a.t_path WHERE path SIMILAR TO '%<%';

SELECT count(*) FROM a.t_path WHERE path SIMILAR TO '%>%';

 

SELECT count(*) FROM a.t_path WHERE path SIMILAR TO '%(<)%';

SELECT count(*) FROM a.t_path WHERE path SIMILAR TO '%(>)%';

 

SELECT count(*) FROM a.t_path WHERE path SIMILAR TO '%(<|>)%';

В этом примере мы отбираем строки из записей в таблице, в которых присутствуют символы угловых скобок.

По краям, символами процентов мы обозначаем любое количество символов в искомой строке. Внутри круглых скобок мы пишем сначала левую угловую скобку, потом ставим вертикальную линию и потом пишем правую угловую скобку.

Данная SQL-команда попытается отобрать все записи в которых присутствует любой из символов угловой скобки.

 

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdmin - https://www.pgadmin.org

Официальный сайт СУБД PostgreSQL - https://www.postgresql.org

Раздел "9.7.2. Регулярные выражения SIMILAR TO" - https://postgrespro.ru/docs/postgresql/14/functions-matching#FUNCTIONS-SIMILARTO-REGEXP