это
SELECT field,datetime_field
FROM database
WHERE datetime_field > (sysdate-1)
будет работать. Вопрос в том, имеет ли поле 'datetime_field' тот же формат, что и в sysdate?
Мой способ справиться с этим: использовать функцию 'to_char ()' (работает только в Oracle).
образцы:
предыдущий день :
select your_column
from your_table
where to_char(sysdate-1, 'dd.mm.yyyy')
или
select extract(day from date_field)||'/'||
extract(month from date_field)||'/'||
extract(year from date_field)||'/'||
as mydate
from dual(or a_table)
where extract(day from date_field) = an_int_number and
extract(month from date_field) = an_int_number and so on..
дата сравнения :
select your_column
from your_table
where
to_char(a_datetime_column, 'dd.mm.yyyy') > or < or >= or <= to_char(sysdate, 'dd.mm.yyyy')
диапазон времени между вчера и позавчера:
select your_column
from your_table
where
to_char(a_datetime_column, 'dd.mm.yyyy') > or < or >= or <= to_char(sysdate-1, 'dd.mm.yyyy') and
to_char(a_datetime_column, 'dd.mm.yyyy') > or < or >= or <= to_char(sysdate-2, 'dd.mm.yyyy')
другое диапазон времени изменение
select your_column
from your_table
where
to_char(a_datetime_column, 'dd.mm.yyyy') is between to_char(sysdate-1, 'dd.mm.yyyy')
and to_char(sysdate-2, 'dd.mm.yyyy')