Oracle Regexp_like с использованием предложения AND

Я ищу, чтобы найти все случаи "Dr. Jones"в поле имени, используя regexp_like. Я могу сделать OR (все имена с DR или JONES в нем), но мне нужно, чтобы оба имени присутствовали в поле.

Есть ли простой способ сделать это с помощью regexp_like без использования нескольких операторов?

Я ищу кратчайший путь. Ответ ниже дает это в легкой ситуации. Я знаю, что могу иметь:

where regexp_like(color_code,'red|blue|green','i');

и это даст мне любую запись color_code с любым из этих трех имен в нем. Я ищу что-то вроде:

where regexp_like(color_code,'red&blue&green','i');

это будет выбирать только записи с ВСЕМ ТРИ цвета в названии, но они могут быть в любом порядке так: красный синий зеленый, зеленый фиолетовый синий черный красный, желтый красный оранжевый зеленый синий

все сделали бы список

1 ответ

select * from mytable
where regexp_like(txt,'(Dr.+Jones+)|(Jones.+Dr+)','i');

хорошо убрал необходимость в период после д-ра и позволил переключать слова

Другие вопросы по тегам