Sql server 在SSMS中,以本地时区显示DateTimeOffset值
是否有办法将Sql Server Management Studio配置为在查询结果中显示客户端本地时区中的Sql server 在SSMS中,以本地时区显示DateTimeOffset值,sql-server,timezone,ssms,timezone-offset,datetimeoffset,Sql Server,Timezone,Ssms,Timezone Offset,Datetimeoffset,是否有办法将Sql Server Management Studio配置为在查询结果中显示客户端本地时区中的DateTimeOffset列的值,而不是UTC 我在时区+02:00。值存储为2016-07-27 22:00:00.0000000+00:00。当前,该值在查询结果中显示为该值。在我的机器上对SSMS执行此查询时,我希望它显示(格式化)为2016-07-28 00:00:00.0000000+02:00 目前我正在手动使用类似于SWITCHOFFSET(CONVERT(datetime
DateTimeOffset
列的值,而不是UTC
我在时区+02:00。值存储为2016-07-27 22:00:00.0000000+00:00
。当前,该值在查询结果中显示为该值。在我的机器上对SSMS执行此查询时,我希望它显示(格式化)为2016-07-28 00:00:00.0000000+02:00
目前我正在手动使用类似于SWITCHOFFSET(CONVERT(datetimeoffset,),DATENAME(TzOffset,SYSDATETIMEOFFSET())
的东西,这显然非常麻烦
如果我没有弄错的话,在Oracle中,会话级别上的NLS参数可以用于此目的。Sql Server中是否有类似的功能?Sql Server和SSM都不能使用“会话时区”的概念(如Oracle、MySql等) 此外,自动转换偏移量也没有意义,因为偏移量实际上是存储的
datetimeoffset
值的一部分
如果您使用的是SQL Server 2016或Azure SQL数据库,则可以使用新语句,如中所示:
SELECT yourdto AT TIME ZONE @thetimezoneid
否则,请考虑使用我的项目。
这两个选项都不能为您提供系统的时区ID。您必须知道要使用哪个时区