プログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

Mysqlのdate_time型で、「月」や「月日」で検索する方法

Mysqlのdatetime型や、date型のカラムに対して、

年月日ではなく、「月」や「月日」で抽出したいときは、

DATE_FORMAT関数を使うと便利です。

 

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数

 

例)誕生日が7月のユーザを抽出

SELECT * FROM users  

WHERE DATE_FORMAT(birth_day, '%m') = '07';

 

例)誕生日が7月8日のユーザを抽出

SELECT * FROM users  

WHERE DATE_FORMAT(birth_day, '%m%d') = '0708';

 

もちろん、年月日でも抽出可能です。

例)誕生日が1999年7月8日のユーザを抽出

SELECT * FROM users  

WHERE DATE_FORMAT(birth_day, '%Y%m%d') = '19990708';

 

 

以上になります。

 

参考URL)

d.hatena.ne.jp