【发布时间】:2015-10-02 13:58:08
【问题描述】:
在 TimeZoneId 字段的 DB 中,我有这样的字符串值:
GMT Standard Time
W. Europe Standard Time
Romance Standard Time
FLE Standard Time
我需要通过这些字符串值来获得 int 值偏移量,即
GMT Standard Time | 0
W. Europe Standard Time | 1
Romance Standard Time | 1
FLE Standard Time | 2
所有字符串值: https://msdn.microsoft.com/en-us/library/ms912391(v=winembedded.11).aspx
我只需要使用 T-SQL。
【问题讨论】:
-
我认为SQL Server中没有这样的东西。我认为此信息来自 Windows 操作系统。您必须在数据库中创建这样的表,或者编写一个 .Net 函数来完成这项工作。
-
这些字符串是如何进入您的数据库的?找到执行此操作的进程并对其进行修改以添加偏移量。
-
你需要一个字符串值表来偏移。
-
另外请注意,您需要以分钟为单位的偏移量,而不是小时数,因为有些地方的分钟数是奇数。目前似乎到处都是最近的一刻钟,但谁能说这是否会一直如此?
-
并且由于 DST 和其他原因,偏移量会发生变化。不要使用偏移量来表示时区。请参阅下面的答案。
标签: sql-server tsql timezone offset