gpt4 book ai didi

sql - 获取 SQL Server 中 datetimeoffset 的偏移量

转载 作者:行者123 更新时间:2023-12-01 22:30:56 25 4
gpt4 key购买 nike

在 SQL Server 中,我需要查找给定 datetimeoffset(7) 的偏移量。

我研究了文档,有很多方法可以更改偏移量,但没有办法知道特定值的偏移量(抱歉,如果我错过了)。

我想出了下面这段代码,虽然看起来可行,但我发现它太复杂了。

DECLARE @datetimeOffset datetimeoffset(7)

SET @datetimeOffset = CAST('2007-05-08 22:35:29.1234567-05:00' AS datetimeoffset(7))

DECLARE @result datetimeoffset(7)
DECLARE @offsetMin int

SET @offsetMin = DATEDIFF(mi, cast(SWITCHOFFSET(@datetimeOffset, '+00:00') as datetime), cast(@datetimeOffset as datetime))

SELECT @offsetMin

我仍然需要转换为 +00:00 格式,但想检查是否有更好的方法。

谢谢!

最佳答案

  • The DATEPART function has a tz option返回 int 中值的 UTC 偏移量分钟。
  • DATENAME also supports the tz option并返回格式为 [+-]HH:MM 的 UTC 偏移量
    • 请注意 datetimeoffset value 仅包含标量 UTC 偏移值,它根本不包含任何时区信息(因为多个时区可以并且确实共享相同的偏移量),因此不可能使用 DATEPART/DATENAME获取时区名称。
DECLARE @dateTimeOffsetValue_USPacific datetimeoffset(7) = '2022-07-24 12:34:56-07:00';
DECLARE @dateTimeOffsetValue_UTC datetimeoffset(7) = '2022-07-24 19:34:56Z';
DECLARE @dateTimeOffsetValue_Bendigo datetimeoffset(7) = '2022-07-25 05:34:56+10:00';

SELECT
'US Pacific' AS "Zone",
@dateTimeOffsetValue_USPacific AS "Value",
DATEPART( tzoffset, @dateTimeOffsetValue_USPacific ) AS OffsetMinutes,
DATENAME( tzoffset, @dateTimeOffsetValue_USPacific ) AS OffsetHHMM

UNION ALL

SELECT
'UTC' AS "Zone",
@dateTimeOffsetValue_UTC AS "Value",
DATEPART( tzoffset, @dateTimeOffsetValue_UTC ) AS OffsetMinutes,
DATENAME( tzoffset, @dateTimeOffsetValue_UTC ) AS OffsetHHMM

UNION ALL

SELECT
'Australian Eastern Standard Time' AS "Zone",
@dateTimeOffsetValue_Bendigo AS "Value",
DATEPART( tzoffset, @dateTimeOffsetValue_Bendigo ) AS OffsetMinutes,
DATENAME( tzoffset, @dateTimeOffsetValue_Bendigo ) AS OffsetHHMM;

给出这个结果:

<表类=“s-表”><标题>区域值偏移分钟OffsetHHMM <正文> 'US Pacific' 2022-07-24 12:34:56.0000000 -07:00 -420 '-07:00' 'UTC' 2022-07-24 19:34:56.0000000 +00:00 0 '+00:00' 'Australian Eastern Standard Time' 2022-07-25 05:34:56.0000000 +10:00 600 '+10:00'

关于sql - 获取 SQL Server 中 datetimeoffset 的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com