Подтвердить что ты не робот

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

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

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

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

Спасибо!

4b9b3361

Ответ 1

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

Если вас интересует только дата, а не время, замените current_date на now()

Ответ 2

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

SELECT * FROM MyTable WHERE mydate > now()::date - 365;

Ответ 3

Это должно дать вам текущую дату минус 1 год:

select now() - interval '1 year';

Ответ 4

Вы также можете проверить с помощью функции 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