#postgresql #datediff
#postgresql #datediff
Вопрос:
Я хочу узнать, сколько дней находится между 2 датами в запросе. Вероятно, это что-то простое для опытного пользователя Postgres, но я не могу найти ответ..
И помощь была бы отличной.
CASE
WHEN DATEDIFF('day',a.date_approve,a.current_rec_date) = 1
THEN a.current_rec_date
ELSE a.date_approved
END AS date_approved,
Ответ №1:
datediff()
В Postgres нет.
Если столбцы равны date
s, то простое их вычитание даст вам разницу в днях.
...
a.date_approve - a.current_rec_date = 1
...
Если они timestamp
s, то их вычитание даст вам an interval
, поэтому вам нужно будет сравнить его с an interval
.
...
a.date_approve - a.current_rec_date = '1 day'::interval
...
Вы можете получить дополнительную информацию из документации.
Комментарии:
1. Хммм …. Я запускаю запрос типа: ВЫБЕРИТЕ date_approved — current_rec_date = ‘1 day’::interval ИЗ approved_recommendations, ГДЕ label= ‘EVA’; И я получаю результат ‘true’.
2. @LandonStatis: Так
date_approved
иcurrent_rec_date
есть, с разницей в один день. Не так ли?