首页 > 解决方案 > Postgresql 间隔数据类型 - 修剪年/月

问题描述

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

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

解决方案


这是我糟糕的尝试。

    select concat_ws(' ',extract(从现在开始的日子())|| 'days',
                         提取(从现在开始的几个小时())|| ' 小时',
                         提取(从现在开始的分钟())|| ' 分钟',
                         提取(从 date_trunc 开始的秒数('second',now()::timestamp))|| '秒');

            concat_ws            
---------------------------------
 22 days 9 hours 56 mins 53 secs

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

希望这会有所帮助


推荐阅读