Добрый вечер!
Подскажите, пожалуйста, мне по проблеме.
Есть поле "ts_complete". В нем хранятся даты в формате 2009-09-28 13:22:25.326.
В одном из разделов делаю выборку по условию "ts_complete" >= '2009-08-28' AND "ts_complete" <= '2009-09-28'.
В результате получаю все строки с нужными мне датами, но почему-то строки, которые имеют дату 2009-09-28 не попадают в вывод. То есть получается, что я не могу получит данные по "ts_complete" <= '2009-09-28' - именно не только меньше, но и равно. Я немного не понимаю, может, это специфика выборки по времени какая-то?
where to_date(ts_complete,
where to_date(ts_complete, 'YYYY-MM-DD') between to_date('2009-08-28','YYYY-MM-DD') and to_date('2009-09-28','YYYY-MM-DD')
Выборка по between - это
Выборка по between - это аналог того, что было написано у меня. Выборка по нему такая же как у меня.
Дело не в том какой оператор
Дело не в том какой оператор сравнения использовать, а какие данные сравнивать. Для корректной выборки необходимо привести все данные к одному формату.
Спасибо большое, я
Спасибо большое, я разобралась!
Вы просите <= '2009-09-38',
Вы просите <= '2009-09-28', что означает '2009-09-28 00:00:00.0'
Разумеется, что данные выше этого значения в выборку не попадут.
Проще было бы: < '2009-09-29', вот тогда проблем не будет
=)
=)