CONVERT_TZ()
は、日付時刻値 dt
を、from_tz
が指定する時間帯から、to_tz
が指定する時間帯に変換し、結果の値を戻します。時間帯は、項4.10.8. 「MySQL サーバのタイム ゾーン サポート」 で説明されているように指定されています。引数が無効な場合、この関数は NULL
を戻します。
値が、from_tz
から UTC に変換される際に TIMESTAMP
でサポートされている範囲から外れた場合、変換は行われません。TIMESTAMP
の範囲は 項10.1.2. 「データと時刻タイプの概要」 に記載されています。
mysql>SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
-> '2004-01-01 13:00:00' mysql>SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
-> '2004-01-01 22:00:00'
注記 :'MET'
または 'Europe/Moscow'
などの、名前付きの時間帯を使用するには、時間帯テーブルが正確に設定されている必要があります。手順については 項4.10.8. 「MySQL サーバのタイム ゾーン サポート」 をご覧ください。
他のテーブルが LOCK TABLES
でロックされている間に CONVERT_TZ()
を使用したい場合は、mysql.time_zone_name
テーブルもロックする必要があります。