Перефразируя, учитывая, что я использую дату так:
date'2010-04-10'
, может ли результат быть любым, кроме 10 апреля 2010 г. (например, 4 октября 2010 г.)?
ОБНОВЛЕНИЕ Я слышу то, что вы , и, скажем, документы. Но ...
Когда пакетное задание запускается с жестко запрограммированной date'yyyy-mm-dd ': s, оно не выполняет некоторые (недетерминированные) вычисления. Выполнение невыполненных операторов SQL в PL / SQL Developer никогда не дает такого же неверного значения.
Во-первых, я выполнил те же вычисления (сотни тысяч) с заменой литералов даты date на функцию to_date ('', ''), и все заработало нормально.
Затем я использовал NHibernate и его LINQ-провайдер и полностью заменил созданный вручную SQL. ... и все работало нормально ... NHibernate выдает литерал даты с включенной временной частью, BTW.
ОБНОВЛЕНИЕ Мой коллега написал код, который может воспроизвести ошибку в нашей среде. Он разместил свои выводы (включая код) на форумах Oracle: https://forums.oracle.com/forums/thread.jspa?threadID=2304569&tstart=0
ОБНОВЛЕНИЕ Изменен заголовок в соответствии с ответом zerkms.