如何在 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】:如果是mysql, SELECT 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 格式并将其保存在 Db 中