Шаблон соответствия Postgres - PullRequest
0 голосов
/ 10 октября 2018
create table monument(ID int primary key,monument varchar(100);

insert into monument values(1,'Taj,Paris');
insert into monument values(2,'Taj');
insert into monument values(3,'Tajmahal,Gateway');
insert into monument values(4,'Burjkhalifa,Gateway of India');

Предполагая, что я передаю параметры как «Taj, Gate», следовательно, мне нужны все строки, где памятник содержит либо Taj, либо Gate в строке.

1 Ответ

0 голосов
/ 10 октября 2018

Хранение значений, разделенных запятыми, в одном столбце - это огромная ошибка проектирования с самого начала.

Необходимо преобразовать значения varchar в массивы, чтобы можно было рассматривать значение CSV как отдельные элементы:

select *
from monument m
where string_to_array(m.monument, ',') && string_to_array('Taj,Gate', ',');

Онлайн-пример: https://rextester.com/BJRTM46696

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...