0
Olsenの国/都市の指定ではなく、特定の日付の適切なタイムゾーンの省略形を表示したいとします(たとえば、「US/Pacific」の代わりに「PST」を表示する)。私はtime_zone_transitionテーブルから省略形を使用しますか?
指定された日付に使用する正しい省略形を照会する方法は明確ではありません。 time_zone_nameテーブルの同様のレコード間の唯一の違いは、time_zone_transitionの 'transition_type_id'列です。
ここではサンプルクエリを示します。私は、実際の日付を接続して、どのtransition_type_idが日付と一致しているかを知り、その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' ;
なぜtz.time_zone_idを使用しないのですか?MySQLで標準化されるべきですか?ああ、暗黙のSQL '89構文の代わりに明示的な結合を使用することをお勧めします。 – Johan
ヨハン、返事ありがとう。私はここで何かを逃しているかもしれない。さまざまなtzテーブルの 'time_zone_id'カラムは整数だけであり、私が表示したい人間が読める一般的な略語ではありません。例えば、 'timze_zone_name'テーブルに 'Africa'/Abidjan、1のようなデータを持つ 'name' と 'time_zone_id'カラムがあります。 は、結合構文についてのあなたの提案を確実に受け入れます。古い習慣は激しく死ぬ – Fred