MySQL ではタイムゾーンを使用して日付/時刻がどのように機能するのでしょうか?

MySQL ではタイムゾーンを使用して日付/時刻がどのように機能するのでしょうか?

私の理解は次のとおりです。

  • 内部的にはすべてUTCです
  • 日付は現在のセッションの@@session.time_zoneタイムゾーンで表示されます
  • TZINSERTを設定して挿入すると、UTCとして解析され、保存されます。+02:002015-05-15 10:542015-05-15 08:54
  • UTCTZに変更すると、次のように表示されるはずです2015-05-15 08:54
  • 代わりに表示されるのは2015-05-15 10:54

何が間違っているのでしょうか? それとも、これは想定内のことでしょうか? MySQL の datetime に関する記事をいくつか読みましたが、まだよくわかりません。

答え1

これはフィールドにのみ適用されますTIMESTAMPDATETIMEフィールドはそのまま残されます。

見るhttp://dev.mysql.com/doc/refman/5.7/en/datetime.html

関連情報