gpt4 book ai didi

tsql - t-sql 将 datetimeoffset 转换为 utc+01 :00 to local amsterdam datetime

转载 作者:行者123 更新时间:2023-12-02 17:22:07 25 4
gpt4 key购买 nike

我想运行一个简单的 T-SQL SELECT 查询,这样输入 (datetimeoffset)...

2015-01-01 00:15:00.0000000 +01:00

2015-05-04 14:15:00.0000000 +02:00

...作为此输出(日期时间)出现:

2015-01-01 01:15:00

2015-05-04 16:15:00

输入是一列,输出也应该是一列。

有什么想法吗?

更新 20170126

好吧,一如既往,它从来没有我想象的那么容易。该查询是更大查询的一部分,我现在将其制定如下(见下文),输入列命名为“TimeStamp”,输出列命名为“Tijd”。这不起作用,因为它似乎无法识别变量声明中的 [TimeStamp]。我错过了什么?

DECLARE @dt datetimeoffset = (SELECT CONVERT(datetimeoffset, [TimeStamp]))
SELECT @dt as Original
,CONVERT(datetime2,@dt,1) AS Tijd
,[Id]
,[EanCode]
,[DataAccessPointId]
,[DataSource]
,[ElectricityUsageNormalkWh] AS Piek
,[ElectricityUsageLowkWh] AS Dal
,[DateAltKey] = CONVERT(int, CONVERT(varchar(8), [TimeStamp], 112))
,[TimeAltKey] = DATEPART(hh,[TimeStamp]) * 10000 + DATEPART(mi,[TimeStamp]) * 100 + DATEPART(ss,[TimeStamp])
FROM [dbo].[ElectricityTelemetryData]

最佳答案

我认为您在关于 +/- 值的问题中的时间偏移逻辑是错误的,但是您有几个选项,具体取决于您想要作为输出的数据类型:

declare @dt datetimeoffset = (select convert(datetimeoffset,'2015-01-01 00:15:00.0000000 +01:00'))

select @dt as Original
,convert(datetime2,@dt,1) as Converted
,switchoffset(@dt,'+00:00') as Switched

输出:

Original                            | Converted                     | Switched
2015-01-01 00:15:00.0000000 +01:00 | 2014-12-31 23:15:00.0000000 | 2014-12-31 23:15:00.0000000 +00:00

关于tsql - t-sql 将 datetimeoffset 转换为 utc+01 :00 to local amsterdam datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852513/

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