我正在为可配置系统编写SQL报告。在这个系统中,有许多网站'可能遍布全世界,每个都将其时区存储为名称(使用System.TimeZoneInfo.FindSystemTimeZoneById
将其转换为TimeZoneInfo
对象,然后用于执行转换。
这意味着Web界面(用C#编写)可以在UTC和站点本地时间之间进行转换 - 但是用SQL编写的自定义报告不能。至少,我们都不知道如何做到这一点。我们可以执行任意SELECT
个查询,甚至可以在自定义报告的上下文中创建和填充临时表,但不能改变作为系统一部分的表的结构或向整个数据库添加内容配置。
将时间转换为最终用户的本地时间并不简单 - 报告可能包含有关多个站点的信息,并且每个站点的本地时间转换都需要正确。< / p>
我们有多个版本的系统 - 有些版本使用SQL Server 2008和其他版本2012.理想情况下,我们希望一个解决方案可以在两者下运行,但未能确保2012特定解决方案可以接受。