Я в базе данных Oracle, следующий запрос:
select codi_belf, data_elab,id_inte,anno from mimsspam_tab where id_inte = 504;
извлекает 6 записей
E924 05-AGO-15 504 2015 D458 05-AGO-15 504 2015 D458 05-AGO-15 504 2015 B275 05-AGO-15 504 2015 E924 05-AGO-15 504 2015 B275 05-AGO-15 504 2015
где «data_elab» — это поле типа DATE, а AGO — это просто итальянская локаль для AUG.
Я пытаюсь фильтровать по дате следующим образом:
select codi_belf, data_elab,id_inte,anno
from mimsspam_tab where id_inte = 504
and data_elab = TO_DATE('05/08/2015','dd/MM/yyyy');
И у меня НЕТ результатов..
Более того, если я фильтрую таким образом:
select codi_belf, data_elab,id_inte,anno
from mimsspam_tab where id_inte = 504
and TO_CHAR(data_elab,'dd/MM/yyyy')='05/08/2015';
Я вернул свои шесть пластинок!
Разве два способа фильтрации не должны быть эквивалентны? Почему это не так? И почему первый съедает все мои шесть записей? Может ли это зависеть от странной конфигурации установки оракула, к которой я обращаюсь?
to_char
для этой даты с форматом, который включает часы и минуты. - person Mat   schedule 05.08.2015