Я использую базу данных Oracle 10g.У меня есть таблица с большим количеством информации.Один из столбцов имеет тип DATE, объявленный следующим образом DATE_INSERT DATE
.Я пытаюсь сделать запрос и отфильтровать его по определенной дате.Когда я использую функцию TO_CHAR()
в предложении where, я получаю ожидаемую информацию
SELECT * FROM TABLE WHERE TO_CHAR(DATE_INSERT, 'DD/MM/YYYY') = '05/10/2018'
Но когда я использую переменную DATE или функцию TO_DATE()
, я получаю пустой набор результатов.
SELECT * FROM TABLE WHERE DATE_INSERT = TO_DATE('05/10/2018','DD/MM/YYYY')
ИЛИ
SELECT * FROM TABLE WHERE DATE_INSERT = date '2018-10-05';
ИЛИ (date_var
определено как дата ранее)
SELECT * FROM TABLE WHERE DATE_INSERT = date_var;
По требованию отдела БД мне нужно избавиться от всех функций TO_DATE() / TO_CHAR ().Можете ли вы помочь мне понять, почему фильтрация не работает, когда в запросе используются типы DATE?