Текстовый подстановочный знак Oracle не соответствует пробелу

Допустим, вам нужно найти комбинацию слов

Тогда с помощью текста оракула это будет выглядеть так:

select * from some_table
where contains(column, '%word1 word2%');

Но что, если там может быть какой-то другой символ разделения? ".," например. тогда вы бы пойти на что-то вроде этого

select * from some_table
where contains(column, '%word1_word2%');

в конечном итоге это не сработает, так как в тексте оракула одиночный подстановочный знак "_" по какой-то причине не соответствует пробелам, и в результате вы потеряете записи типа:

word1 word2

Есть ли способы решить эту проблему?

1 ответ

Есть несколько способов проверить результаты, которые вы ищете.

Вы можете использовать ключевое слово "LIKE" для поиска слов, которые вас интересуют. В качестве примера, пожалуйста, проверьте ниже. Вы можете комбинировать шаблоны, которые вы ищете, с ключевым словом "ИЛИ".

select * from some_table where column LIKE '%word1 word2%' OR '%word1_word2%';

А также вы можете использовать ORACLE REGEXP_LIKE Условие, чтобы получить то же самое.

Ура!!

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