Возможно ли иметь предложение CASE IN()
в WHERE
Oracle?Oracle - использовать CASE в WHERE и IN()
Например:
SELECT vip
FROM table
WHERE
CASE WHEN $inputVar LIKE ''
THEN vip IN (1,2,3)
ELSE vip in ($inputVar)
END
Edit: С помощью этого кода я получаю сообщение об ошибке:
ORA-00905: missing keyword
Что такое '$ inputVar'? Вероятно, в вашем запросе должен быть только оператор 'OR', но если вы ожидаете передать скалярную переменную, которая представляет собой строку с значениями, разделенными запятыми, и они оцениваются как часть списка' IN', это не сработает. –