MySQLでUTCを現地時間に変更する必要がある場合があります。この記事では、 convert_tzを使用してMySQLでUTCを現地時間に変換する方法を見ていきます。 機能。
MySQLでUTCを現地時間に変換する方法
convert_tz を使用すると、MySQLでUTCを現地時間に簡単に変換できます。 働き。 convert_tz関数の構文は次のとおりです。
convert_tz(date_value, original_timezone, new_timezone)
上記の関数では、日付値をリテラル文字列、システム関数または列名、元のタイムゾーン、および新しいタイムゾーンとして指定する必要があります。
日時の値をUTCからローカルタイムゾーン(GMT + 10:00)に変換する例を次に示します。デフォルトでは、UTCからのオフセットとして元のタイムゾーン(+00:00)と新しいタイムゾーン(+10:00)を指定する必要があります。
mysql> SELECT CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00'); +-----------------------------------------------------+ | CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00') | +-----------------------------------------------------+ | 2018-06-15 22:00:00 | +-----------------------------------------------------+
オフセットの代わりにタイムゾーンを指定することもできます。ただし、この場合、サーバーにMySQLタイムゾーンをダウンロードしてインストールする必要があります。オフセット値の代わりにタイムゾーン名を指定して、ESTをパリのタイムゾーンに変換する例を次に示します。
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
now()のようなシステム関数を使用することもできます convert_tz 以下に示すように、現在の日時を他のタイムゾーンに変換する関数。
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
また読む:MySQLで月ごとにグループ化する方法
同様に、convert_tzを使用して、日付、時刻、日時の列を変換することもできます。 order_dateのタイムゾーンを変更する例を次に示します。 販売の列 表、UTCからESTまで
mysql> select convert_tz(order_date,'+00:00','-05:00') from sales; +------------------------------------------+ | convert_tz(order_date,'+00:00','-05:00') | +------------------------------------------+ | 2020-05-03 19:00:00 | | 2020-05-04 19:00:00 | | 2020-05-05 19:00:00 | | ... | | 2020-05-13 19:00:00 | +------------------------------------------+
うまくいけば、クエリでMySQLのタイムゾーンを変更し、日付、時刻、日時の値をあるタイムゾーンから別のタイムゾーンに変換できるようになりました。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!