Берите только дни из столбца Интервал — Postgresqk

#sql

Вопрос:

Я пытаюсь взять только значение дней из приведенного ниже столбца типа интервала.

Для этого я выполнил следующий запрос, но все, что он сделал, это округлил все до дней, как показано в таблице ниже:

 select date_trunc('days', avg(d.date)) as Days_till_invite
from datamodel d

0 years 0 mons 173 days 0 hours 0 mins 0.00 secs
0 years 0 mons 173 days 0 hours 0 mins 0.00 secs
0 years 0 mons 173 days 0 hours 0 mins 0.00 secs
0 years 0 mons 173 days 0 hours 0 mins 0.00 secs
0 years 0 mons 173 days 0 hours 0 mins 0.00 secs
0 years 0 mons 172 days 0 hours 0 mins 0.00 secs
0 years 0 mons 172 days 0 hours 0 mins 0.00 secs
0 years 0 mons 172 days 0 hours 0 mins 0.00 secs
0 years 0 mons 172 days 0 hours 0 mins 0.00 secs
0 years 0 mons 172 days 0 hours 0 mins 0.00 secs
0 years 0 mons 171 days 0 hours 0 mins 0.00 secs
0 years 0 mons 171 days 0 hours 0 mins 0.00 secs
0 years 0 mons 171 days 0 hours 0 mins 0.00 secs
0 years 0 mons 170 days 0 hours 0 mins 0.00 secs
0 years 0 mons 170 days 0 hours 0 mins 0.00 secs
 

Желаемый Результат

В идеале вывод должен быть просто: (только извлечение значения дня)

 173
173
173
173
172 
[...]
 

Ответ №1:

Вероятно, самый простой способ использует epoch :

 select extract(epoch from d.date) / (24 * 60 * 60) as days