@AkmalUz

Как можно дать несколько условии(значение) в like например like ('%1%', '%2%' и тд)?

select from test1
where tranz_acct LIKE '%99449872%' тут для одного значение
а нужно что бы было несколько LIKE ('%99449872%' , '%23424232%' , '%34534535%', '%23424232%' , '%34534535%')
  • Вопрос задан
  • 371 просмотр
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Можно попробовать механизм регулярок

SELECT ....... WHERE REGEXP_LIKE(tranz_acct , '.*(99449872|23424232).*')

но сравни производительность в обоих случаях. Обычно регулярки не могут использовать индекс.
Поэтому будет FULL_TABLE_SCAN. В случае с like выражениями у тебя есть шанс пойти
в план с INDEX_SCAN но нужно пересмотреть саму задачу. Откуда цифры.
И можно ли во всех кейсах выделить общий префикс например.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
thewind
@thewind
php программист, front / backend developer
Это делается не множественным like, а одним паттерном - ведь like по сути принимает регулярное выражение. Используйте символ | (или) между вариантами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы