3

我正在使用最新版本的 Azure SQL。我有一系列Time zone display name并想将它们转换为Time zone ID. 我知道 SQL Server 包含显示名称和 ID。sys.time_zone_info有所有的Time zone ID,但是像CURRENT_TIMEZONE ()output这样的命令Time zone display name。我希望的是一个简单的函数,它接受一个字符串Time zone display name并返回该Time zone ID名称映射到,但我找不到任何引用。而且我找不到实际存储映射的表。

参考 - Azure SQL 托管实例中的时区

4

2 回答 2

2

sys.time_zone_info中,名称ID。对于标准化目的来说不是最好的。

如果您使用它来为您的应用程序拥有自己的内部时区列表,那么我认为 Joseph Xu 有正确的答案。

如果您将其用于针对需要时区本地化的 Azure SQL 的查询,请记住,根据 Azure SQL 文档,数据库在 中运行UTC,并且 CURRENT_TIMEZONE_ID() 将UTC始终返回。

于 2021-02-17T18:21:59.650 回答
1

我认为我们可以创建一个表来存储包含两列Time zone IDTime zone display name. 然后创建一个存储过程来查询它,输入Time zone display namereturn Time zone ID

于 2021-02-09T03:18:15.040 回答