小编And*_*ers的帖子

确定T-SQL中的时区偏移量

我的数据库应用程序将部署在不同时区的多个站点.

我需要一个T-SQL函数来确定当前年1月1日午夜的UTC时间戳,用于YTD计算.所有数据都以UTC时间戳存储.

例如,芝加哥是夏令时(DST)的UTC-6,如果在2008年芝加哥任何时候运行,该功能需要返回'2008-01-01 06:00:00'.如果明年在纽约(GMT-5 + DST)运行,则需要返回'2009-01-01 05:00:00'.

我可以从YEAR获得当前年份(GETDATE()).我以为我可以在GETDATE()和GETUTCDATE()之间做一个DATEDIFF来确定偏移量,但结果取决于查询是否在DST期间运行.我不知道有任何内置的T-SQL函数来确定偏移量或者当前时间是否为DST?

有没有人在T-SQL中解决这个问题?我可以硬编码或将其存储在一个表中,但不愿意.我想这是在SQL Server 2005中使用CLR集成的完美情况.我只是想知道是否有一个我不知道的T-SQL解决方案?

sql sql-server timezone sql-server-2005

5
推荐指数
1
解决办法
5万
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2005 ×1

timezone ×1