Ответ 1
select * from mytable where mydate > now() - interval '1 year';
Если вас интересует только дата, а не время, замените current_date
на now()
Интересно, может ли кто-нибудь помочь с некоторыми Postgres. У меня есть таблица с столбцом mydate
, который является типом даты postgres. Я хочу сделать что-то вроде:
SELECT * FROM MyTable WHERE mydate > [Today-1year]
Я никогда не использовал Postgres раньше, и я уверен, что мне просто нужно знать название некоторых функций - я с удовольствием посмотрю ссылку на себя. Может ли кто-нибудь указать мне в правильном направлении?
Спасибо!
select * from mytable where mydate > now() - interval '1 year';
Если вас интересует только дата, а не время, замените current_date
на now()
Я думаю, что это сделает:
SELECT * FROM MyTable WHERE mydate > now()::date - 365;
Это должно дать вам текущую дату минус 1 год:
select now() - interval '1 year';
Вы также можете проверить с помощью функции age()
select * from mytable where age( mydate, now() ) > '1 year';
age()
wil вернуть интервал.
Например age( '2015-09-22', now() )
вернет -1 years -7 days -10:56:18.274131