如何在 Oracle 中将毫秒转换为 hh mm ss 格式

Posted

技术标签:

【中文标题】如何在 Oracle 中将毫秒转换为 hh mm ss 格式【英文标题】:How to convert miliseconds to hh mm ss format in Oracle 【发布时间】:2016-10-14 06:02:50 【问题描述】:

我有一个数据库表,其中包含存储毫秒的“时间”列。我需要将其转换为小时:分钟:秒格式。 谁能帮助如何做到这一点?我认为它需要一个功能。我试过一个,但它只能工作不到 24 小时。我也需要它来转换超过 24 小时。 注意:Time 列的数据类型是 Varchar2。

提前谢谢..

【问题讨论】:

【参考方案1】:

如果是mysqlSELECT SEC_TIME(秒/1000); 做你想要的,但如果是 oracle sql,这里有一个链接:Oracle Convert Seconds to Hours:Minutes:Seconds 在链接的解决方案的分母中添加 1000 完成将毫秒转换为 hh:mm:ss 最多 9999 小时的任务。希望能帮助到你!谢谢

【讨论】:

感谢您的反馈!我在您提到的链接上找到了以下代码: 选择 TO_CHAR(TRUNC(x/3600),'FM9900') || ':' || TO_CHAR(TRUNC(MOD(x,3600)/60),'FM00') || ':' || TO_CHAR(MOD(x,60),'FM00') FROM DUAL 但这只是将秒转换为 hh:mm:ss 。我需要毫秒到 hh:mm:ss。你能告诉我如何在解决方案的分母中添加 1000 吗?我没听懂。【参考方案2】:

毫秒到 hh:mm:ss

SELECT TO_CHAR(TRUNC(s/3600000),'FM9900') || ':' || TO_CHAR(TRUNC(MOD(s,3600000)/60000),'FM00') 
|| ':' ||TO_CHAR(MOD(s,60000),'FM00')
FROM DUAL ;

【讨论】:

以上是关于如何在 Oracle 中将毫秒转换为 hh mm ss 格式的主要内容,如果未能解决你的问题,请参考以下文章

如何将毫秒转换为“hh:mm:ss”格式?

如何将 HH:mm:ss.SSS 转换为毫秒?

如何在Oracle中将时间戳转化为日期格式

如何将毫秒转换为 hh mm ss 格式并将其保存在 Db 中

如何在 SQL 中将小时、分钟和秒 (HH:mm:ss) 转换为分钟和秒 (mm:ss)

如何在Java中将日期对象转换为“dd/MM/yyyy HH:mm:ss”格式[重复]