Необязательные переменные связывания для сопоставления с тем же полем
Барьеры: я не могу ничего создать. Нет GTT, PROC и т. Д. Я запрашиваю озеро данных Exadata, и любой сценарий, который я создаю, будет выполняться из Toad или SQL Developer. Платформа Oracle 11g.
Я создаю отчет самообслуживания, который опирается на два типа параметров: диапазон дат и DNIS (по сути, число, идентифицирующее поток вызовов IVR). Существует как минимум один DNIS, а может быть и три:
WHERE DNIS IN ('1234567', '9876543', '1232345')
Я хотел бы создать 3 переменные связывания::DNIS1,:DNIS2 и:DNIS3, где может быть заполнена одна или несколько переменных и, если нет, NULL.
Теоретически:
WHERE DNIS IN (:DNIS1, :DNIS2, :DNIS3)
Возможно, лучший вопрос будет; учитывая мои ограничения, как создать динамическое предложение IN()? Это возможно?
1 ответ
Благодаря Sudipta Mondal (см. Комментарии) ответ состоял в том, чтобы обернуть переменные связывания в TO_CHAR()
WHERE DNIS IN (to_char(:DNIS1), to_char(:DNIS2), to_char(:DNIS3) )