2

という名前の日時列がありcreation_dateます。SETタイムゾーンを使用している場合でも、同じ結果が表示されます。私は何を間違っていますか?

私のコード:

SET time_zone = "America/Los_Angeles";
SELECT *  FROM `enswitch_mobile_users` WHERE `creation_date` > '2013-06-02 00:00:00';
4

3 に答える 3

3

個人的には、代わりにまたは類似のものを使用しDATETIME、常に使用します。次に、データベースから日付を読み取るときに、必要に応じて変換できます。UTC_TIMESTMP()NOW()CONVERT_TZ()

于 2013-06-02T13:15:31.657 に答える
1

datetimetime_zonemysql データ型はディレクティブを気にしません。のみtimestamp_

解決策 - タイプを次のように変更しますtimestamp

于 2013-06-02T13:05:34.877 に答える
0

これは、日付と時刻の型に関する MySQL ドキュメントで見つけることができます。

MySQL は、保存のために TIMESTAMP 値を現在のタイム ゾーンから UTC に変換し、取得のために UTC から現在のタイム ゾーンに戻します。(これは、DATETIME などの他の型では発生しません。)

于 2013-06-02T13:12:00.387 に答える