我是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
有谁能告诉我哪里出错了?
答案 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