首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时区的SQL server查询

时区的SQL server查询
EN

Stack Overflow用户
提问于 2014-06-04 17:37:08
回答 1查看 3.7K关注 0票数 0

有没有办法获得特定时区的当前时间?

例如:GetDateTime(“摩洛哥标准时间”)

它应该给出当地时区的时间“摩洛哥标准时间”

提前谢谢你,梅林

EN

回答 1

Stack Overflow用户

发布于 2016-08-20 18:10:48

我知道这个问题很陈旧,但也许答案会对某些人有所帮助。

如果您使用的是SQL Server2016,则可以使用新功能AT TIME ZONE。让我们一步一步地得到你需要的结果。

首先,使用函数SYSDATETIMEOFFSET()来检索协调世界时时区的当前日期和时间。此函数的返回类型为DATETIMEOFFSET,它不仅存储日期,还存储相关的时区信息:

代码语言:javascript
复制
SELECT SYSDATETIMEOFFSET()
-- Result is 2016-08-20 13:15:25.3760873 +03:00

然后是with AT TIME ZONE语句。这将返回您需要的时区中的DATETIMEOFFSET

代码语言:javascript
复制
SELECT SYSDATETIMEOFFSET() AT TIME ZONE 'Morocco Standard Time'
-- Result is 2016-08-20 11:15:25.3760873 +01:00

此外,如果您希望丢失时区信息并使用DATETIME,则可以将上述结果转换为DATETIME

代码语言:javascript
复制
SELECT CAST( SYSDATETIMEOFFSET() AT TIME ZONE 'Morocco Standard Time' AS DATETIME)
-- Result is 2016-08-20 11:15:25.376
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24033930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档