MySQL时区Transaction_type_id

时间:2014-07-29 23:18:35

标签: mysql datetime timezone timezone-offset

我已经成功地将我的本地tzinfo导入到mysql中,除了一个字段之外,我已经完成了关于如何存储和使用这些数据的所有细节。有一个名为Transition_type_id的数字字段(在表time_zone_transition_type中)似乎包含某种可能很重要的数字数据,但是没有查找表,它的功能不是很明显。

是的,我知道我可以使用mysql的内置函数来利用这些数据,但我也想了解一下发生了什么。

1 个答案:

答案 0 :(得分:2)

此查询将拼合各个时区表并显示美国东部时区的过渡列表。

SELECT n.name, n.time_zone_id, z.Use_leap_seconds,
       tt.offset, tt.Is_DST, tt.Abbreviation,
       FROM_UNIXTIME(t.Transition_time) AS p, 
       t.Transition_type_id
  FROM time_zone_name AS n
  JOIN time_zone AS z USING(time_zone_id)
  JOIN time_zone_transition AS t USING (time_zone_id)
  JOIN time_zone_transition_type AS tt USING(time_zone_id,transition_type_id)
 WHERE NAME='America/New_York'

transition_type_id标识过渡类型(“前进”,“后退”等)。它通过链接到time_zone_transition_type表来实现。那里有很多价值观。

关于这个数据集合的一个奇怪的事情是一堆负time_zone_transition.transition_time值,指的是UNIX纪元之前的时间戳。