PostgreSQL-как преобразовать секунды в числовом поле в HH:MM:SS
Я новичок в PostgreSQL (я использую MS SQL в течение многих лет) и должен преобразовать числовой столбец, который содержит время в секундах, в формат HH:MM:SS.
я погуглил и нашел, что 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 ответов
SELECT TO_CHAR('1000 second'::interval, 'HH24:MI:SS')
или, в вашем случае
SELECT TO_CHAR((mycolumn || ' second')::interval, 'HH24:MI:SS')
FROM mytable
для преобразования секунд в ЧЧ:мм:СС
SELECT 120 * interval '1 sec';
вы получите 00:02:00
для преобразования минут в ЧЧ: мм: СС
SELECT 120 * interval '1 min';
вы получите 02:00:00