convert_tz
convert_tz
概要
一つのタイムゾーンから別のタイムゾーンに、DATEまたはDATETIMEの値を変換します。
この関数は異なるタイムゾーンに対して異なる結果を返す場合があります。詳細については、タイムゾーンの設定を参照してください。
構文
DATETIME CONVERT_TZ(DATETIME|DATE dt, VARCHAR from_tz, VARCHAR to_tz)
パラメー タ
dt
: 変換するDATEまたはDATETIMEの値です。from_tz
: 変換元のタイムゾーンです。VARCHARがサポートされています。タイムゾーンは2つの形式で表現できます。一つはタイムゾーンデータベース(例: Asia/Shanghai)で、もう一つはUTCオフセット(例: +08:00)です。to_tz
: 変換先のタイムゾーンです。VARCHARがサポートされています。形式はfrom_tz
と同じです。
戻り値
DATETIMEデータ型の値を返します。入力がDATEの場合、DATETIMEに変換されます。この関数は、入力パラメータのいずれかが無効またはNULLの場合、NULLを返します。
使用上の注意
タイムゾーンデータベースについては、tzデータベースのタイムゾーンのリスト(Wikipedia)を参照してください。
例
例1: 上海の日時をロサンゼルスに変換する
select convert_tz('2019-08-01 13:21:03', 'Asia/Shanghai', 'America/Los_Angeles');
+---------------------------------------------------------------------------+
| convert_tz('2019-08-01 13:21:03', 'Asia/Shanghai', 'America/Los_Angeles') |
+---------------------------------------------------------------------------+
| 2019-07-31 22:21:03 |
+---------------------------------------------------------------------------+
1 row in set (0.00 sec) |
例2: 上海の日付をロサンゼルスに変換する
select convert_tz('2019-08-01', 'Asia/Shanghai', 'America/Los_Angeles');
+------------------------------------------------------------------+
| convert_tz('2019-08-01', 'Asia/Shanghai', 'America/Los_Angeles') |
+------------------------------------------------------------------+
| 2019-07-31 09:00:00 |
+------------------------------------------------------------------+
1 row in set (0.00 sec)