【问题标题】:How to calculate days,hours,minutes,seconds from seconds in postgres?如何从postgres中的秒计算天,小时,分钟,秒?
【发布时间】:2020-02-03 06:05:41
【问题描述】:

我在一个表中有两列。 1.meterno 2.duration_time(秒), 我想从 duration_time(sec) 计算天、小时、分钟和秒。

当我们只经过几秒钟时,输出应该是以下格式。 6天16小时26分0秒

SELECT column1,
       CASE WHEN (column2 IS NOT NULL)
                 THEN (((((((date_part('day'::text, CAST(column2 as INTEGER)) ||
                                       ' Days '::text) ||
                             date_part('hour'::text, CAST(column2 as INTEGER))) ||
                                       ' Hours '::text) ||
                             date_part('minute'::text, CAST(column2 as INTEGER))) ||
                                       ' Min '::text) ||
                             date_part('second'::text, CAST(column2 as INTEGER))) ||
                                       ' Sec '::text)
                ELSE NULL::text END AS event_duration
FROM Tablename;

【问题讨论】:

  • justify_interval(make_interval(secs => duration_time))怎么样

标签: postgresql


【解决方案1】:

你只需要算术:

SELECT
    column1,
    (column2 / (60*60*24))::text || ' Days ' ||
    ((column2 % (60*60*24)) / 3600)::text || ' Hours ' ||
    (((column2 % (60*60*24)) % 3600) / 60)::text || ' Minutes ' ||
    (column2 % 60)::text || ' Second' AS event_duration
FROM Tablename;

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 2017-05-10
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多