微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure SQL 将“时区显示名称”转换为“时区 ID”

如何解决Azure SQL 将“时区显示名称”转换为“时区 ID”

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

参考 - Time zones in Azure SQL Managed Instance

解决方法

sys.time_zone_info中,名称​​是 ID。不是最适合标准化目的。

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

如果您使用它来查询需要时区本地化的 Azure SQL,请记住,根据 Azure SQL 文档,数据库在 UTC 中运行,并且 CURRENT_TIMEZONE_ID() 将返回 {{1} } 总是。

,

我认为我们可以创建一个表来存储具有两列 Time zone IDTime zone display name 的信息。然后创建一个存储过程来查询,输入Time zone display name return Time zone ID

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。