PostgreSQL, проверка даты относительно " сегодня"


было интересно, если кто-то может помочь с некоторыми Postgres. У меня есть таблица, которая имеет столбец под названием mydate который является типом даты postgres. Я хочу сделать что-то вроде:

SELECT * FROM MyTable WHERE mydate > [Today-1year]

Я никогда не использовал Postgres раньше, и я уверен, что мне просто нужно знать название некоторых функций - я с удовольствием посмотрю ссылку сам. Может ли кто-нибудь указать мне в правильном направлении?

спасибо!

4 59

4 ответа:

select * from mytable where mydate > now() - interval '1 year';

Я думаю, что это будет сделать это:

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

посмотреть документация postgresql