PostgreSQL - Как преобразовать секунды в числовом поле в ЧЧ: ММ: СС - PullRequest
15 голосов
/ 25 мая 2010

Я новичок в PostgreSQL (много лет использую MS SQL) и мне нужно преобразовать числовой столбец, содержащий время в секундах, в формат ЧЧ: ММ: СС.

У меня есть 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 ]

33 голосов
/ 25 мая 2010
SELECT  TO_CHAR('1000 second'::interval, 'HH24:MI:SS')

или, в вашем случае

SELECT  TO_CHAR((mycolumn || ' second')::interval, 'HH24:MI:SS')
FROM    mytable
11 голосов
/ 23 сентября 2016

Для преобразования секунд в ЧЧ: ММ: СС

SELECT 120 * interval '1 sec';

Вы получите 00: 02: 00

Для преобразования минут в ЧЧ: ММ: СС

SELECT 120 * interval '1 min'; 

Вы получите 02: 00: 00

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...