Полдня не могли понять, почему не работает кусок кода на стыке двух проектов?! Все переменные через dbms_output выглядят красиво, но ничего не работает…
Сомнения закрались, когда в запросе вместо параметров подставили значения… Все заработало! Все оказалось просто – Oracle хранит дату всегда со временем, даже после trunc там останется 00:00:00. Выяснилось, что приложение присылало дату +1 час (кто-то поясное время использовал).
Сделал для себя вывод – если в тестовом выводе участвует дата, то конвертация к строке только явная, с указанием времени в формате.
DBMS_OUTPUT.PUT_LINE(to_char(DT,'DD-MON-YYYY hh24:mi:ss'));