私はこのフォーマットで、一つのフィールドで日時を保持しているMySQLデータベースを持っている:チェックのみ日付
'2011-01-04 16:32:49'
は、どのように私はそれだけで今日から結果を示しているように、この日時に基づいて結果をフィルタリングすることができます。基本的には、フィールドの日付部分と比較したいだけです。
私はこれを行うことはできますか?
Select * from table where timestamp.date() = now().date
私はこのフォーマットで、一つのフィールドで日時を保持しているMySQLデータベースを持っている:チェックのみ日付
'2011-01-04 16:32:49'
は、どのように私はそれだけで今日から結果を示しているように、この日時に基づいて結果をフィルタリングすることができます。基本的には、フィールドの日付部分と比較したいだけです。
私はこれを行うことはできますか?
Select * from table where timestamp.date() = now().date
使用DATE:あなたは1を持っている場合timestamp
にインデックスを使用することができます
SELECT * FROM table
WHERE DATE(timestamp) = DATE(now())
別の方法:
SELECT * FROM table
WHERE timestamp >= DATE(now())
AND timestamp < DATE(now()) + interval 1 day
はいすることができますが、格納する列をデータベース内のdateTimeフィールドを参照するだけで済みます。その上で.date()関数を呼び出すべきではありません。 MySQLの
、これは次のようになります。DATEDIFF(NOW()、タイムスタンプ)= 0
これはあなたの日が今日であるレコードだけを与えるだろうテーブルから
選択*。
Select * from table where DATE_FORMAT(timestamp, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
ありがとうございます。これはすごくうまくいった。期限が過ぎるとすぐに受け入れます。 – xbonez