当前位置: 首页 > 面试题库 >

T-SQL格式秒为HH:MM:SS时间

叶德运
2023-03-14
问题内容

是否有任何棘手的格式来格式化小时,分钟,秒等秒。例如,

3660

秒将显示为

01h 01m 00s

或者

01:01:00

我知道这样做的标准方法:

  1. 将所有秒数除以3600,以获取小时数
  2. 将剩下的秒数除以60得到分钟
  3. 剩下的就是几秒钟

我遇到了以下问题:

  1. 我无法创建执行此操作的单独功能。

  2. 我的代码正在使用多个CTE进行查看。因此,只能使用CTE声明变量。

  3. 我无法使用标准解决方案,因为我将获得比一天更大的结果-如何使用T-SQL将Seconds转换为HH:MM:SS


问题答案:

SELECT RIGHT(‘00’+CONVERT(VARCHAR(10),Seconds/3600),2)
+’:’
+ RIGHT(‘00’+CONVERT(VARCHAR(2),(Seconds%3600)/60),2)
+’:’
+ RIGHT(‘00’+CONVERT(VARCHAR(2),Seconds%60),2) AS [HH:MM:SS]
FROM table1


结果:

HH:MM:SS
01:01:00
01:03:20
01:10:00
00:10:00
00:01:00
00:00:30
24:00:00
24:06:40

看到这个SQLFiddle



 类似资料:
  • 问题内容: 我想将持续时间(即秒数)转换为以冒号分隔的时间字符串(hh:mm:ss) 我在这里找到了一些有用的答案,但他们都谈论转换为x小时和x分钟格式。 那么,有没有一个小片段在jQuery或原始JavaScript中做到这一点? 问题答案: 您现在可以像这样使用它: 工作片段:

  • 问题内容: 如何将时间格式转换为固定的秒数? PS Time有时可能仅采用格式。 问题答案: 不需要任何东西: 而且,如果您不想使用正则表达式:

  • 问题内容: 这是我的尝试 因此,当我尝试类似的值时3600000ms,我得到01:59:00,这是错误的,因为它应该是01:00:00。显然我的逻辑有问题,但是目前,我看不出它是什么! 有人可以帮忙吗? 编辑 固定它。这是格式化毫秒hh:mm:ss格式的正确方法 问题是这样的TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(milli

  • 问题内容: 这是我的代码: 是否可以在日期格式中添加毫秒和纳秒? 问题答案: 您可以通过在末尾添加来添加毫秒数,例如格式为。 毫微秒内没有参考。通常用于性能调试,而不用于显示目的。

  • 问题内容: 我有一个名为 test_duration bigint(12) 的数据列。我将以秒为单位的时间存储到数据库中。现在,当我从表中获取记录时,我希望将时间转换为HH:MM:SS格式。我应该如何实现呢?提前致谢。 问题答案: 您可以使用 MySQL 函数SEC_TO_TIME()。 例子: 输出为: 因此,在您的情况下:

  • 问题内容: 情况是您有一个以秒(XXX.XX)为单位的值,并且您想使用T-SQL转换为HH:MM:SS。 例子: 121.25 s变为00:02:01.25 问题答案: 您要乘以毫秒,因为小数部分将被丢弃。 如果您希望不带日期部分,可以使用样式为114的CONVERT