Вычислить разницу между двумя временными метками - PullRequest
0 голосов
/ 27 января 2020

У меня есть два Timestamp столбца в таблице PostgreSQL (например, 2019-07-12 07:59:59). Мне нужно вычесть два столбца и сохранить значение (HH:MM:SS) под новым именем?

Ответы [ 2 ]

2 голосов
/ 27 января 2020

Нет необходимости вычислять эпоху. Вычитание временных меток дает интервал, который непосредственно преобразуется:

with timestamps (tsa, tsb) as 
     (values ('2020-01-15T06:15:00'::timestamp, '2020-01-15T18:15:00'::timestamp)) 
select to_char(tsb-tsa,'hh24:mi:ss') from timestamps; 
0 голосов
/ 27 января 2020

Вы комбинируете два: сначала получите разницу в секундах и конвертируйте секунды в ччммсс:

SELECT TO_CHAR((EXTRACT(EPOCH 
               FROM (timestamp_B - timestamp_A)) || ' second')::interval, 'HH24:MI:SS')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...