【问题标题】:How to format interval to hours : minutes in pgsql如何将间隔格式化为小时:pgsql中的分钟
【发布时间】:2015-12-03 10:20:50
【问题描述】:

当我们使用这个查询

select '2930:41:51.974223'::interval(0);

输出

 interval  
------------
 2930:41:52

期望的输出

2930:42

我试过了

select to_char('2930:41:51.974223'::interval(0),'HH24:MI');

结果:

 to_char 
---------
 2930:41

它不会通过添加秒数将 41 舍入到 42)

【问题讨论】:

    标签: sql postgresql intervals


    【解决方案1】:

    只需将时间间隔增加 30 秒:

    select to_char('2930:41:51.974223'::interval(0)+ '30s','HH24:MI');
    
     to_char 
    ---------
     2930:42
    (1 row)
    

    【讨论】:

    • + '30' 产生相同的结果
    • 是的,谢谢克林!这个时间操作是否有任何内置函数?
    • 没有比to_char()更方便的函数了。
    【解决方案2】:
    select to_char('2930:41:51.974223' + interval '30','HH24:MI');
    

    select to_char('2930:41:51.974223' + interval  '30 seconds','HH24:MI');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2021-07-16
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多