首页 > 数据库 > mysql教程 > 如何在 SQL Server 2008 中将表示时间的整数转换为 HH:MM:SS:00 格式?

如何在 SQL Server 2008 中将表示时间的整数转换为 HH:MM:SS:00 格式?

Susan Sarandon
发布: 2024-12-31 04:48:10
原创
862 人浏览过

How to Convert an Integer Representing Time to HH:MM:SS:00 Format in SQL Server 2008?

在 SQL Server 2008 中将整数时间转换为 HH:MM:SS:00

问题:

在SQL Server 2008中,需要转换整数时间值转换为时间格式 HH:MM:SS:00。此外,必须了解这种格式中的“00”是否代表毫秒。

答案:

要将整数时间转换为 HH:MM:SS: 00,使用以下步骤:

  1. 提取小时:将整数时间除以 1,000,000 并取模 100 得到小时值。
  2. 提取分钟:将剩余的整数时间除以 10,000,并取模 100获取分钟
  3. 提取第二个值:将剩余的整数时间除以 100,并取模 100 得到第二个值。
  4. 提取毫秒:将剩余的整数时间乘以10即可得到毫秒值。

时间格式 HH:MM:SS:00 中的“00”代表毫秒。

示例:

考虑整数时间10455836.

SELECT
    (@T / 1000000) % 100 AS hour,
    (@T / 10000) % 100 AS minute,
    (@T / 100) % 100 AS second,
    (@T % 100) * 10 AS millisecond
登录后复制

结果:

hour    minute  second  millisecond
10      45      58      360
登录后复制

或者,您可以使用以下查询来获得更全面的查询结果:

SELECT
    DATENAME(HOUR, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS hour,
    DATENAME(MINUTE, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS minute,
    DATENAME(SECOND, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS second,
    DATENAME(MILLISECOND, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS millisecond
登录后复制

输出:

hour       minute   second   millisecond
10         45       58       360
登录后复制

此方法还清楚地将时间分量识别为小时、分钟、秒和毫秒。

以上是如何在 SQL Server 2008 中将表示时间的整数转换为 HH:MM:SS:00 格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板