MySQLで誕生日から年齢を計算の方法
生年月日をもとにした年齢の計算は、MySQLの組み込み関数DATEDIFF()とYEAR()を使用できます。
usersテーブルにbirth_dateというフィールドがある場合、年齢を計算する方法は次のようになります。
「users」テーブルから、生年月日と現在の「CURDATE」を比較して年齢を計算するSQL文:
「SELECT YEAR(CURDATE()) – YEAR(birth_date) – (RIGHT(CURDATE(), 5) < RIGHT(birth_date, 5)) AS age FROM users;」
上記のクエリでは、YEAR(CURDATE())で現在の年を取得し、YEAR(birth_date)で生年月日の年を取得します。RIGHT(CURDATE(), 5)およびRIGHT(birth_date, 5)で、それぞれ現在の日付および生年月日から月日部分を取得しています。それらを比較し、現在の日付の月日が生年月日の月日よりも小さければ、年齢から1を引きます。そうでなければ、年齢はそのままです。最後に、計算された年齢をageとしています。