見出し画像

MySQLで特定月のデータを抽出する方法

Web開発では、ユーザーから特定の年月を受け取り、その月に該当するデータをデータベースから抽出することがよくあります。
例えば、HTMLフォームを介してユーザーが年月(例:2023-01)を選択し、この情報を基にMySQLデータベースからその月のデータ(例:2023-01-02、2023-01-28など)を抽出したい場合が考えられます。

SQLクエリの例

HTMLフォームからinput type=”month”を使用してPOSTされる年月のデータ(例:2023-01)を基に、MySQLで特定の月のデータを抽出するためのSQLクエリは次のようになります。この例では、POSTされた年月を変数として使用し、その月の初日から最終日までのデータを選択します。

ここでは、データベース内のテーブル名をyour_table、日付を格納しているカラム名をdate_columnと仮定しています。また、POSTされた年月のデータが変数posted_year_monthに格納されているとします。

SELECT *
FROM your_table
WHERE date_column >= STR_TO_DATE(CONCAT(posted_year_month, '-01'), '%Y-%m-%d')
  AND date_column < LAST_DAY(STR_TO_DATE(CONCAT(posted_year_month, '-01'), '%Y-%m-%d')) + INTERVAL 1 DAY;

 このクエリの詳しい説明はコチラから。

この記事が気に入ったらサポートをしてみませんか?