SQL-запрос для поиска в столбце со значениями, разделенными запятыми - PullRequest
0 голосов
/ 07 мая 2019

У меня есть столбец базы данных, который содержит значения, разделенные запятыми, и я хочу искать в этом столбце, передавая значения, разделенные запятыми, и он должен вернуть эту запись, если любое из заданных значений совпадает.

Например:столбец содержит a,b,c,d,e, входные данные d,c,h, тогда он должен вернуть эту запись.

Последовательность здесь не имеет значения, и также не обязательно, чтобы все значения совпадали, даже если одно значение совпадает, то такжезапись должна быть возвращена.

1 Ответ

0 голосов
/ 07 мая 2019

Как уже упоминал jarlh, вы не должны хранить данные как разделенные запятыми элементы. Я рекомендую вам прочитать статьи о нормализации базы данных о том, как избежать такого рода данных.

Тем не менее, вы можете сделать что-то вроде следующего, чтобы запросить нужные записи:

SELECT 1 FROM dual WHERE REGEXP_LIKE(','||'a,b,c,d,e'||',', ',('||REPLACE('d,c,h',',','|')||'),')

Обратите внимание, что вы должны экранировать зарезервированные символы во входной строке перед использованием этого запроса ...

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