という名前の日時列がありcreation_date
ます。SETタイムゾーンを使用している場合でも、同じ結果が表示されます。私は何を間違っていますか?
私のコード:
SET time_zone = "America/Los_Angeles";
SELECT * FROM `enswitch_mobile_users` WHERE `creation_date` > '2013-06-02 00:00:00';
個人的には、代わりにまたは類似のものを使用しDATETIME
、常に使用します。次に、データベースから日付を読み取るときに、必要に応じて変換できます。UTC_TIMESTMP()
NOW()
CONVERT_TZ()
datetime
time_zone
mysql データ型はディレクティブを気にしません。のみtimestamp
_
解決策 - タイプを次のように変更しますtimestamp
これは、日付と時刻の型に関する MySQL ドキュメントで見つけることができます。
MySQL は、保存のために TIMESTAMP 値を現在のタイム ゾーンから UTC に変換し、取得のために UTC から現在のタイム ゾーンに戻します。(これは、DATETIME などの他の型では発生しません。)