Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SSMS中,以本地时区显示DateTimeOffset值_Sql Server_Timezone_Ssms_Timezone Offset_Datetimeoffset - Fatal编程技术网

Sql server 在SSMS中,以本地时区显示DateTimeOffset值

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

是否有办法将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(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。您必须知道要使用哪个时区