Необязательные переменные связывания для сопоставления с тем же полем

Барьеры: я не могу ничего создать. Нет 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) )
Другие вопросы по тегам