我的数据库应用程序将部署在不同时区的多个站点上。确定T-SQL中的时区偏移
我需要一个T-SQL函数来确定YTD计算当年1月1日午夜的UTC时间戳。所有数据都以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解决方案?
谢谢埃里克。我已经实施了一种基于表格的解决方案,就像您以前所建议的那样。我只是想知道是否有什么我错过了会让我的生活更轻松。 – 2008-10-09 22:07:51