![](https://www.searchlight8.com/wp/wp-content/uploads/2016/02/photo_00064-wpp1707397007862-870x580.jpg)
MySQLのDATETIME型では「2016-01-01 10:00:00」というかたちでデータが登録されています。
複数年にわたって登録されているデータから7月に該当するデータを取り出したいと思い、やりかたを調べてみました。
DATE_FORMAT関数を使うと、特定の年月、年、月、日などを簡単に取り出すことができます。
年月での抽出
2016年1月のデータを抽出するSQL文
0 1 2 |
SELECT * FROM table_name WHERE DATE_FORMAT(column_name, '%Y%m')=201601; |
年での抽出
2016年のデータを抽出するSQL文
0 1 2 |
SELECT * FROM table_name WHERE DATE_FORMAT(column_name, '%Y')=2016; |
月での抽出
7月のデータを抽出するSQL文
0 1 2 |
SELECT * FROM table_name WHERE DATE_FORMAT(column_name, '%m')=7; |
SQL文の中での具体的な使用例
0 1 2 |
SELECT * FROM table_name WHERE (DATE_FORMAT(column_name, '%Y%m') = '201601') LIMIT 100; |