を見ることができる私は、このテーブルを持っている:MySQLの時間間隔クエリが、私は、データに
は基本的に、私は、クエリを使用して、すべてのアクティブ/一時停止のプロファイルを取得したい:
SELECT * FROM q_lab.auto_profile_status_log WHERE apsl_timestamp = NOW() - INTERVAL 1 DAY;
しかし、結果は空のセットです!私は何かが欠けていることを知っているが、私はそれを理解できない。
を見ることができる私は、このテーブルを持っている:MySQLの時間間隔クエリが、私は、データに
は基本的に、私は、クエリを使用して、すべてのアクティブ/一時停止のプロファイルを取得したい:
SELECT * FROM q_lab.auto_profile_status_log WHERE apsl_timestamp = NOW() - INTERVAL 1 DAY;
しかし、結果は空のセットです!私は何かが欠けていることを知っているが、私はそれを理解できない。
SELECT NOW() - INTERVAL 1 DAY
この文字列で検索してくださいだからきっと、これが唯一のあなたのテーブルのレコードごとに空の結果を返します2017-09-19 13:39:09
としてだけで昨日の日付を返します。
日付、ない日にのみ関心がある場合は、今日の記録をしたい場合は、以下のようにしてみてください意味、
SELECT * FROM q_lab.auto_profile_status_log WHERE apsl_timestamp BETWEEN (NOW() - INTERVAL 1 DAY) AND NOW();
これはあなたの代わりに、今の
が
SELECT * FROM q_lab.auto_profile_status_log WHERE apsl_timestamp = CURDATE() - INTERVAL 1 DAY;
使用CURDATE()を支援することと時間 –
もちろん、あなたのエントリの正確な_秒_1にこのクエリを作成しない限り、結果は空です。ここでは_equality_を比較しています。あなたはINTERVALという言葉に騙されて、これが比較のための開始時間と終了時間との間に実際の間隔を生み出すと思ったのですか? INTERVALはそうではありません。 – CBroe
@CBroe興味深い点があります!回避策はありますか? – user5155129