gpt4 book ai didi

sql - 如何从TSQL(SQL 2005)中的UTC日期时间计算本地日期时间?

转载 作者:行者123 更新时间:2023-12-04 11:08:38 24 4
gpt4 key购买 nike

我想在tsql中循环一段时间,并打印utc日期时间和我们的本地变量。
我们住在UTC +1,所以我可以轻松地增加1小时,但是在夏天,我们住在UTC +2。

在C#中,我可以创建日期时间,并使用一种方法来询问UTC变体,反之亦然。

直到现在我有这个:

declare @counter int
declare @localdate datetime
declare @utcdate datetime
set @counter = 0
while @counter < 100
begin
set @counter = @counter + 1
print 'The counter is ' + cast(@counter as char)
set @utcdate = DATEADD(day,@counter,GETUTCDATE())
--set @localdate = ????

print @localdate
print @utcdate
end

最佳答案

假设您向上使用SQL 2005,则可以开发一个SQL CLR函数以采用UTC日期并将其转换为本地日期。

This link是MSDN的“操作方法”,它说明了如何在C#中创建标量UDF。

按照以下方式创建一个SQL函数

[SqlFunction()]
public static SqlDateTime ConvertUtcToLocal(SqlDateTime utcDate)
{
// over to you to convert SqlDateTime to DateTime, specify Kind
// as UTC, convert to local time, and convert back to SqlDateTime
}


您上面的示例将变为

set @localdate = dbo.ConvertUtcToLocal(@utcdate)


SQL CLR在部署方面有开销,但是我觉得这样的情况最适合。

关于sql - 如何从TSQL(SQL 2005)中的UTC日期时间计算本地日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404646/

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