shi*_*893 3 sql postgresql syntax time casting
我有一个数字传递为integer,想将其转换为time,并使用该数字作为小时。
我找到了使用数字作为分钟的解决方案,但我不熟悉 PostgreSQL 语法。不知道在这里做什么:
select CAST(to_char(czas, 'FM99909:99') AS TIME WITHOUT
TIME ZONE)::TIME from test
Run Code Online (Sandbox Code Playgroud)
结果将是:
00:15:00
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种方法来实现它:
15:00:00
Run Code Online (Sandbox Code Playgroud)
我使用 MS SQL 已经有一段时间了,我很惊讶 PostgreSQL 语法要复杂得多。
如果您的列test.czas表示小时,只需乘以interval '1 hour':
SELECT (interval '01:00' * czas)::time FROM test;
Run Code Online (Sandbox Code Playgroud)
即使使用小数位,也能准确产生您想要的结果。
'01:00'和'1 hour'是等价的interval文字。
对于czas> 24,您将获得剩余的时间(截止全天) - 就像您使用czas%24.
有关的:
| 归档时间: |
|
| 查看次数: |
4669 次 |
| 最近记录: |