2016-05-18 2 views
0

Я хотел бы вставить значение времени в формате HH31:MI:SS вместо типичного HH24:MI:SS. Этот формат не мой, GTFS позволяет часов в течение, чем 24Изменить формат времени SQL на HH31: MI: SS

Например,

insert into stop_times values((to_date('28:20:02", "HH31:MI:SS")), 
(to_date('31:02:25", "HH31:MI:SS))); 

Однако я получаю сообщение об ошибке с сообщением: date format not recognized.

Можно ли изменить формат по умолчанию (HH24:MI:SS) на HH31:MI:SS?

Я использую SQL Developer.

+2

Что вы ожидаете от вывода? Я не знаком с тем, что более 24 часов в день. – Siyual

+0

Вы пытаетесь показать прошедшее время? Что вы пытались сделать до сих пор? – JT4U

+0

@Siyual Ха-ха, я тоже! По-видимому, выход будет иметь формат «HH31: MM: SS». – George

ответ

3

Попробуйте следующее: Не уверен, что вы ожидаете от вашего вывода: Сумма, которую вы указали 31:02:25, которая становится 111745 секунд. Теперь преобразовать эти секунды на следующее:

SELECT 
    TO_CHAR(TRUNC(x/3600),'FM9900') || ':' || 
    TO_CHAR(TRUNC(MOD(x,3600)/60),'FM00') || ':' || 
    TO_CHAR(MOD(x,60),'FM00') 
FROM DUAL 

где x это количество секунд

TO_CHAR должен быть в состоянии обрабатывать 9999 часов!

Смежные вопросы