Текстовый подстановочный знак 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 Условие, чтобы получить то же самое.
Ура!!