PostgreSQL:包含秒到小时分钟秒天间隔 SECONDSDIFF 的列

Posted

技术标签:

【中文标题】PostgreSQL:包含秒到小时分钟秒天间隔 SECONDSDIFF 的列【英文标题】:PostgreSQL: Column containing seconds to Hours Minutes Seconds Days INTERVAL SECONDSDIFF 【发布时间】:2019-11-08 14:16:09 【问题描述】:

我想将包含秒的列(即 11549404)转换为天、小时、分钟、秒

SELECT (myCol || ' second')::interval, 'HH24 hrs MI "minutes" SS "seconds"') AS duration
FROM public.myTable

返回以下内容;

“3208 小时 10 分 04 秒”

以天、小时、分秒显示的方式是什么

【问题讨论】:

【参考方案1】:

因为有些日子有 23 小时,有些日子有 25 小时,所以结果并不容易(不可能,因为不知道绝对值)。 interval 类型是月、日和秒的结构。这些值不会在这些字段之间自动移动,因为 mounts 有不同的天数,days 可以有不同的秒数。但是您可以进行一些规范化 - 有一个函数 justify_interval 预计因此天每次都有 24 小时:

postgres=# select justify_interval('3208 hrs 10 minutes 04 seconds'::interval);
+-------------------------+
|    justify_interval     |
+-------------------------+
| 4 mons 13 days 16:10:04 |
+-------------------------+
(1 row)

【讨论】:

列名怎么样? SELECT (myCol || ' second')::interval, 'HH24 hrs MI "minutes" SS "seconds"') 对于列名,你应该使用关键字AS,如果有一些特殊符号,那么你应该使用双引号SELECT 10 AS "some special name with spaces" ...

以上是关于PostgreSQL:包含秒到小时分钟秒天间隔 SECONDSDIFF 的列的主要内容,如果未能解决你的问题,请参考以下文章

以秒为单位将时间间隔格式化为 X 小时(秒) Y 分钟(秒) Z 秒(秒)

尝试从一组 30 分钟的时间间隔中获取以小时为单位的开始和结束时间,但某些结果未正确返回

使用 pandas 的 datetimeindex 在特定日期按分钟和小时提取时间间隔

Mysql 每小时平均,间隔从半小时开始

如果我得到 15 分钟的间隔数据来预测每小时目标,我应该使用 15 分钟的数据还是聚合到 1 小时的数据进行训练?

24小时采样差几分钟