【问题标题】:Get OffSet part from SYSDATETIMEOFFSET()从 SYSDATETIMEOFFSET() 获取 OffSet 部分
【发布时间】:2014-03-21 15:23:10
【问题描述】:

你好尝试从函数SYSDATETIMEOFFSET()的结果中获取偏移部分;

例如,我需要 -04:00 部分结果:2014-03-21 11:13:14.7405400 -04:00

有没有办法在 MS SQL 中“拆分”查询结果?

谢谢

【问题讨论】:

标签: sql-server


【解决方案1】:
DECLARE @timeStr NVARCHAR(50) = CAST(SYSDATETIMEOFFSET() AS NVARCHAR(50))
SELECT RIGHT(@timeStr, 6)

【讨论】:

    【解决方案2】:

    试试DATEPART

    SELECT DATEPART (TZ, '2007-05-10  00:00:01.1234567 -05:00')
    

    【讨论】:

    • 仅供参考,返回分钟数。
    【解决方案3】:

    我遇到了类似的问题,我只需要创建日期时间的文件的偏移量来发送事务文件。我用过:

    SELECT ((DATEPART (TZOFFSET, SYSDATETIMEOFFSET()))/60*100) 
    

    【讨论】:

    • 这里的数学似乎有误,返回 (hours * 100)... DATEPART 在使用 TZOFFSET 时返回分钟。
    【解决方案4】:

    死灵答案,但它是谷歌的顶级结果。我想要小时部分:

    select FORMAT(SYSDATETIMEOFFSET(),'zzz')
    

    对于 CST 时区的服务器,结果为 -06:00

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2013-04-12
      • 2012-09-03
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多