purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

MYSQLで期間内のデータのみ抽出する為のSQL関数

CURRENT_DATE()を使えばいいのです。

僕の会社は今mysql4.0xを使ってるので、これで使える関数をSQL実践リファレンスってのを読んで調べたのです。


更にこんなページを参照したりして、
MYSQLの日付関数で、NOW(),SYSDATE(),CURRENT_DATE()の違いを教えて下さい。


最終的にこんな感じで使えそう。というか使えた。
phpに書いてるのでそんな形式でUPします。


追記:今日が開始日〜終了日の範囲に入っているかを調べるSQL

$sql = 'SELECT id FROM table_name WHERE CURRENT_DATE() >= start_date AND CURRENT_DATE() <= end_date;';

比較してるフィールドタイプはDATEで定義してあります。


追記:CURRENT_DATE()ってのはCURDATE()のシノニムです。


結構前に買ったんだけど、SQLの辞典系ではこれ使ってます。
本当はもっと新しいのが欲しかったけど、
「この関数はMySQL4.1.1以降で使えます」
って書いてあるのが地味にありがたかった。

SQL実践リファレンスSQL実践リファレンス
高橋 良明

九天社 2006-04
売り上げランキング : 308214

Amazonで詳しく見る
by G-Tools