指定期間内のデータを抽出
前にMYSQLでDATE型とかDATETIME型と年で比較 - purazumakoiの[はてな]で、その年のデータを抽出するのは作ったが、今回は年月日で検索する。
【テスト環境】mysqlの4.0x系
フィールドの型はDATE型
結論としてこんなSQLになればいい*1
/* 2009-01-01 〜 2009-03-03 のデータを抽出 */ SELECT id FROM table_name WHERE DATE_FORMAT(f_date, '%Y-%m-%d')>='2009-01-01' AND DATE_FORMAT(f_date, '%Y-%m-%d')<='2009-03-03'
phpでやる場合
月、日はsprintfでゼロパディングすればよい
<?php $month = sprintf("%02d", $month); $day = sprintf("%02d", $day); ?>
*1:実行して試してはいない