MySQLのDate型でBetween

 MySQLのDate型は’yyyy-mm-dd’、Datetime型は’yyyy-mm-dd hh:mm:ss’といった形式で保存されています。
例えば「1月25日~2月3日」のデータを抜き出したいと思ったとき単純に[sql]WHERE d BETWEEN ’01-25′ AND ’02-03′[/sql]としても抜き出すことはできません。
ちょっとしたコツがいります。正解はこうです。[sql]WHERE DATE_FORMAT(d, ‘%m-%d’) BETWEEN ’01-25′ AND ’02-03′[/sql]DATE_FORMATはMySQLの関数で日付型の整形を行うことができます。
Date型が格納されてるフィールドdをDATE_FORMAT関数により’mm-dd’の形に整形してやり、それをBETWEENで指定することで希望のデータを得ることができます。

この方法は特定の星座でユーザーを抜き出したい時などに使えそうです。

スポンサーリンク
レクタングル大




フォローする

スポンサーリンク
レクタングル大