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');
хорошо убрал необходимость в период после д-ра и позволил переключать слова