Как выполнить запрос, чтобы выбрать записи из таблицы test1, удовлетворяющие условию tranz_acct, содержащему несколько значений ('99449872', '23424232', '34534535') с использованием оператора LIKE?
Для задания нескольких условий с оператором LIKE можно воспользоваться ключевым словом OR. Например, если нужно выбрать записи, удовлетворяющие условиям '%1%', '%2%' и '%3%', можно сделать следующим образом:
SELECT * FROM table_name WHERE column_name LIKE '%1%' OR column_name LIKE '%2%' OR column_name LIKE '%3%';
Для выполнения запроса, чтобы выбрать записи из таблицы test1, удовлетворяющие условию tranz_acct, содержащему несколько значений ('99449872', '23424232', '34534535'), также можно воспользоваться оператором LIKE и ключевым словом OR:
SELECT * FROM test1 WHERE tranz_acct LIKE '%99449872%' OR tranz_acct LIKE '%23424232%' OR tranz_acct LIKE '%34534535%';
Можно попробовать механизм регулярок
SELECT ....... WHERE REGEXP_LIKE(tranz_acct , '.*(99449872|23424232).*')
но сравни производительность в обоих случаях. Обычно регулярки не могут использовать индекс.
Поэтому будет FULL_TABLE_SCAN. В случае с like выражениями у тебя есть шанс пойти
в план с INDEX_SCAN но нужно пересмотреть саму задачу. Откуда цифры.
И можно ли во всех кейсах выделить общий префикс например.