私のテーブルには日付フィールドタイプと時間フィールドタイプがあります。テーブルにはいくつかの行があります:時間フィールドは15:00:00と16:00:00のような値を持ちます。タイムゾーンに感染していないことを知って、時間の種類を選択しました。Mysqlのブロックタイムゾーン変換:オリジナルの時刻または日付の値をデータベース値と比較します。
私の問題は、mysqlクライアント(ユーザ)のタイムゾーンがUTC + 3なので、ユーザが時刻が18:00:00である場所を選択したい場合には、時刻の値が15:00:00ユーザーが指定したものがUTC; 18:00:00 = 15:00:00に変換されています)。しかし、それは私が望むものではありません。
ユーザーが18:00:00を指定した場合は、UTC値と見なす必要があります。そのため、18:00:00は時刻が18:00:00でない15:00:00に保存されている行のみを選択します。私はselect donnees.* from donnees where timefield=CONVERT_TZ(:ptime,'UTC','Africa/Nairobi');
を使用しようとしましたが、動作しておらず、ヌル値を与えています。
私は本当に混乱しています。どうすればそれを正しく比較できますか?
しかし、これはすべてのクエリまさに – aidonsnous
のために有効になります。それ以外の場合は、必要に応じて "SET time_zone = '+ 00:00'"をデータベースに送信できます。 –