какое сокращение я должен использовать из таблицы time_zone_transition? - PullRequest
0 голосов
/ 10 ноября 2011

Я хотел бы показать соответствующее сокращение часового пояса для данной даты, а не только название страны / города Олсена (например, показать «PST» вместо «США / Тихий океан»).

Не ясно, как запросить правильное сокращение, чтобы использовать для данной даты.Единственная разница между похожими записями в таблице time_zone_name - это столбец 'transition_type_id в time_zone_transition.

Вот пример запроса.Я полагаю, мне нужно подключить реальную дату, чтобы узнать, какой transition_type_id соответствует дате, и затем иметь возможность фильтровать по этому идентификатору, чтобы получить сокращение.

SELECT
  tz.name
  ,tpe.abbreviation
  ,tpe.offset/3600
  ,tpe.* 
FROM mysql.time_zone_transition_type tpe, mysql.time_zone_name tz  
WHERE tz.time_zone_id = tpe.time_zone_id 
  AND tz.name = 'US/Pacific' ;

1 Ответ

0 голосов
/ 25 января 2014

Я думаю, что это запрос, который вы ищете.В конечном итоге вам нужно объединить его с таблицами приложений и выбрать соответствующий time_zone_id, а также заменить жестко закодированное время даты в этом запросе.

SELECT * FROM mysql.time_zone_transition_type ztt
INNER JOIN mysql.time_zone_transition tzt
ON tzt.Time_zone_id = ztt.Time_zone_id
AND tzt.Transition_type_id = ztt.Transition_type_id
where tzt.Time_Zone_id = 163
and UNIX_TIMESTAMP('2014-01-23 16:00') >= Transition_time
order by Transition_time desc
LIMIT 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...