Oracle将秒转换为小时:分钟:秒

use*_*989 15 sql oracle plsql plsqldeveloper

我需要以小时为单位显示用户可用时间:分钟:从给定的总秒数值开始的秒数格式.感谢您是否知道ORACLE功能也是如此.我正在使用Oracle.

感谢您的时间.

vog*_*ash 31

试试这个吧.非常简单易用

select to_char(to_date(10000,'sssss'),'hh24:mi:ss') from dual;
Run Code Online (Sandbox Code Playgroud)

  • 我比我的答案更喜欢这个,但是它不能超过86399秒(1天). (13认同)

Mik*_*ike 28

如果您只想将给定的秒数转换为HH:MI:SS格式,则应该这样做

SELECT 
    TO_CHAR(TRUNC(x/3600),'FM9900') || ':' ||
    TO_CHAR(TRUNC(MOD(x,3600)/60),'FM00') || ':' ||
    TO_CHAR(MOD(x,60),'FM00')
FROM DUAL
Run Code Online (Sandbox Code Playgroud)

x秒数在哪里.

  • 请参阅我使用 TO_CHAR 而不是 LPAD 的编辑。现在它应该可以处理长达 9999 小时。如果您需要更多,您可以在第一个 TO_CHAR 函数中的格式字符串中添加额外的 9。 (2认同)

小智 5

以下代码不那么复杂,并且给出了相同的结果。请注意,“ X”是要转换为小时的秒数。

在Oracle中使用:

SELECT TO_CHAR (TRUNC (SYSDATE) + NUMTODSINTERVAL (X, 'second'),
                'hh24:mi:ss'
               ) hr
  FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

在SqlServer中使用:

SELECT CONVERT(varchar, DATEADD(s, X, 0), 108);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这仅在少于24小时内有效 (2认同)