我有一个作为整数
传递的数字,我想将它转换为时间
,并将这个数字用作小时。
我找到了使用数字作为分钟的解决方案,但我不熟悉 PostgreSQL 语法。不确定在这里做什么:
select CAST(to_char(czas, 'FM99909:99') AS TIME WITHOUT
TIME ZONE)::TIME from test
结果是:
00:15:00
但我正在寻找实现它的方法:
15:00:00
我使用 MS SQL 已经有一段时间了,我很惊讶 PostgreSQL 的语法要复杂得多。
最佳答案
如果您的 test.czas
列表示 小时 只需乘以 interval '1 hour'
:
SELECT (interval '01:00' * czas)::time FROM test;
即使是小数位,也能准确地产生您想要的结果。
'01:00'
和 '1 hour'
是等价的 interval
literals .
对于 czas
> 24,您将获得剩余部分(全天截止)- 就像您使用 czas%24
一样。
相关:
关于sql - 在 PostgreSQL 中按小时转换整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46739095/