Функции дат

ФУНКЦИИ ДАТ

NOW() - возвращает текущее время и дату.

 Пример Результат
select now()
2023-12-10 15:01:50

А если нужна только дата без времени, то подойдет функция current_date().

AGE() - возвращает разницу между двумя датами.

 Пример Результат
select age('2001-04-10', '1957-06-13')
15992 days

DATE_PART() - возвращает часть даты или интервала.

 Пример Результат
select date_part('hour', timestamp '2001-02-16 20:38:40')
20
select date_part('years', interval '2 years, 12 days')
2
select date_part('month', interval '2 years, 3 month')
3

На последнем примере сверху видно, что надо быть осторожнее с этой функцией. Так как для того, чтобы посчитать совокупное количество месяцев в интервале, нужно отдельно брать годы и переводить их в месяцы, а потом прибавлять их к месяцам и только после брать интервал для месяцев. 

DATE_TRUNC() - отсекает дату до нужного нам масштаба.

 Пример Результат
select date_trunc('year', timestamp '2021-02-16 20:38:40')
2021-01-01 00:00