带时区的SQL Server DateTime
我希望以以下格式显示日期时间,并关联时区:带时区的SQL Server DateTime,sql,sql-server,tsql,Sql,Sql Server,Tsql,我希望以以下格式显示日期时间,并关联时区: 7/19/2017 10:15:55 AM CST 是否可以在SQL Server中显示这一点 谢谢 试试这个查询 select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14) 如果要添加时区,请尝试以下操作: DECLARE @TimeZone VARCHAR(50) EXEC MASTER.dbo.xp_regread 'HKEY_LOC
7/19/2017 10:15:55 AM CST
是否可以在SQL Server中显示这一点
谢谢 试试这个查询
select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14)
如果要添加时区,请尝试以下操作:
DECLARE @TimeZone VARCHAR(50)
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
'TimeZoneKeyName',@TimeZone OUT
select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14) + ' ' + @TimeZone
根据您的问题,请尝试
datetimeoffset
:
定义一个日期,该日期与一天中具有时区感知且基于24小时时钟的时间相结合
结果示例:
CurrentTimeAndLocation
2017-07-20 09:03:48.7270 +00:00
此外,如果您想使用日期和时间数据类型和功能,请查看将时区存储在单独的列中-通常是在记录创建或更新期间在数据库服务器上设置的时区。通过这种方式,您既可以在CST中显示时间,也可以在显示时转换为任何时区,以便最终用户为将来的读者,我使用
选择转换(VARCHAR,SYSDATETIMEOFFSET(),120)--YYYY-MM-DD HH:MM:ss±NN:NN
。时区是服务器时区。警告:这将显示服务器的时区,而在本例中,这很好-显示服务器上的当前日期时间。然而,如果要从数据中显示日期时间,则必须将此信息与日期时间列一起存储。@GustiArya someous dude。只是一个简单的问题——我不明白你的警告。我该如何在我的datetime专栏中存储这些信息?@RameshwarPawale这是Rafal Ziolwski的评论,我不知道该怎么做抱歉。我没看见。标记你的答案:)@RafalZiolkowski你能详细说明你的警告吗?偏移量和时区不同。由于DST,某些时区的偏移量可能会发生变化。OP要求使用时区缩写。
CurrentTimeAndLocation
2017-07-20 09:03:48.7270 +00:00