将 SQL 时间格式更改为 HH31:MI:SS

Change SQL time format to HH31:MI:SS

我想插入 HH31:MI:SS 格式的时间值,而不是典型的 HH24:MI:SS。这种格式不是我的,GTFS 允许超过 24 小时。

例如,

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 开发人员。

试试这个:不确定您期望的输出是什么: 您给定的时间 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小时!