MySQLでは、CONVERT_TZ()
を使用して、あるタイムゾーン間で日時値を別のタイムゾーンに変換できます。 働き。この関数は3つの引数を受け入れます。日時の値、元のタイムゾーン、および変換するタイムゾーン。
以下の構文と例。
構文
構文は次のとおりです。
CONVERT_TZ(dt,from_tz,to_tz)
ここでdt
は日付/時刻、from_tz
は元のタイムゾーンであり、to_tz
変換するタイムゾーンです。
例
使用例を次に示します。
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
結果:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
名前付きタイムゾーン
'US/Eastern'
などの名前付きタイムゾーンを使用することもできます 、'Europe/Moscow'
、'MET'
、など。
これを行うには、最初にタイムゾーンテーブルを設定する必要があります。 MySQLのインストール手順では、タイムゾーンテーブルが作成されますが、ロードされません。したがって、最初にこれらのテーブルにデータを入力する必要があります。
最初にタイムゾーンテーブルにデータを入力せずに、この関数で名前付きタイムゾーンを使用しようとすると、null値が取得されます。
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
結果:
+--------+ | Result | +--------+ | NULL | +--------+
タイムゾーンテーブルにデータを入力する場合でも、定期的に更新する必要がある場合があることに注意してください。これは、情報が時々変更される可能性があるためです。これについての詳細は、MySQLドキュメントWebサイトのMySQLサーバータイムゾーンサポートを参照してください。