【问题标题】:Postgresql interval data type - trim years/monsPostgresql 间隔数据类型 - 修剪年/月
【发布时间】:2018-06-22 18:02:41
【问题描述】:

Postgresql INTERVAL 数据类型提供从年/月/日开始的信息。

0 years 0 mons 7 days 3 hours 1 mins 25.00 secs

如果年/月的值为 0,如何修剪它们的细节?我需要输出是

7 days 3 hours 1 mins 25 secs

我使用date_trunc() 来修剪毫秒值,但 0.00 仍然存在。无论如何也要删除该部分。

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    这是我可怜的尝试。

    select concat_ws(' ',extract(从现在开始的日子())|| 'days', 提取(从现在开始的小时数())|| ' 小时', 提取(从现在开始的分钟())|| ' 分钟', 提取(从 date_trunc 开始的秒数('second',now()::timestamp))|| '秒');
                concat_ws            
    ---------------------------------
     22 days 9 hours 56 mins 53 secs
    

    您可以丢弃该查询中的 .00。

    希望这能有所帮助

    【讨论】:

      【解决方案2】:

      简单的 LEFT 怎么样?

       SELECT LEFT(DATE_TRUNC('hour',timestamp),13) 
      

      这将给出小时值和日期

      【讨论】:

        猜你喜欢
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 2016-02-01
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多