PostgreSQL - 如何将数字字段中的秒转换为HH:MM:SS

时间:2010-05-25 14:42:16

标签: datetime postgresql

我是PostgreSQL的新手(我多年来一直使用MS SQL),需要将包含时间的数字列转换为HH:MM:SS格式。

我使用Google搜索并发现to_char(interval '1000s', 'HH24:MI:SS')有效,因此我尝试将此字段用于我的字段名称:

to_char(fieldname, 'HH24:MI:SS')发出错误cannot use "S" and "PL"/"MI"/"SG"/"PR" together

to_char(fieldname::interval, 'HH24:MI:SS')发出错误cannot cast type numeric to interval

有谁能告诉我哪里出错了?

2 个答案:

答案 0 :(得分:32)

SELECT  TO_CHAR('1000 second'::interval, 'HH24:MI:SS')

或者,在您的情况下

SELECT  TO_CHAR((mycolumn || ' second')::interval, 'HH24:MI:SS')
FROM    mytable

答案 1 :(得分:10)

将秒数转换为HH:MM:SS

SELECT 120 * interval '1 sec';

你会得到00:02:00

将分钟转换为HH:MM:SS

SELECT 120 * interval '1 min'; 

你会得到02:00:00