端くれプログラマの備忘録 MySQL [MySQL] 比較対象のカラムは型を意識しなければならない

[MySQL] 比較対象のカラムは型を意識しなければならない

要注意。

//文字列として比較されてしまう
SELECT * FROM sales WHERE '2015-02-01' BETWEEN start_date AND end_date;

//キャストすることで日付として比較
SELECT * FROM sales WHERE CAST('2015-02-01' AS DATE) BETWEEN start_date AND end_date;

参考サイト

MySQLの日付比較 – まつぼ x Web
http://matsu.teraren.com/blog/2010/07/27/mysql-date-string/

MySQL _ 日付期間比較
http://www45.atpages.jp/miztools/cake2.php/memo/mysql_date