gpt4 book ai didi

sql-server - 仅更改 SQL 中 datetimeoffset 的时间部分

转载 作者:行者123 更新时间:2023-12-02 23:04:55 26 4
gpt4 key购买 nike

如何仅设置 SQL datetimeoffset 变量的时间部分?

例如:

DECLARE @date datetimeoffset = '2014-01-11 11:04:26 +02:00'

我想计算另外两个日期时间偏移:

@startdate should be '2014-01-11 00:00:00 +02:00'
@enddate should be '2014-01-12 00:00:00 +02:00'

但是我尝试的所有解决方案都将偏移量设置为零。

注意:我需要结果中的原始偏移量,因为我需要将它们与表中的某些 datetimeoffset 列进行比较。所以仅仅转换到一个日期是行不通的。

进一步说明:这在 SQL2012 中会很容易;我可以使用 DATETIMEOFFSETFROMPARTS。不幸的是,我目前无法升级到2012。示例:

SET @startdate = SELECT DATETIMEOFFSETFROMPARTS(datepart(yyyy, @date), datepart(mm, @date), datepart(dd, @date), 0, 0, 0, 0, datepart(tz, @date), 0, 7);

最佳答案

DECLARE @date DATETIMEOFFSET = '2014-01-11 11:04:26 +02:00'

SELECT TODATETIMEOFFSET(CAST(@date AS date),DATEPART(tz,@date))
SELECT TODATETIMEOFFSET(DATEADD(day,1,CAST(@date AS date)),DATEPART(tz,@date))

关于sql-server - 仅更改 SQL 中 datetimeoffset 的时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21091530/

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