ホームページ  >  記事  >  データベース  >  MySQLで生年月日から年齢を計算する方法は?

MySQLで生年月日から年齢を計算する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-15 12:30:02200ブラウズ

How to Calculate Age from Date of Birth in MySQL?

MySQL の生年月日から年齢を取得する

MySQL フィールドに保存されている生年月日に基づいて顧客の年齢を計算するには、年齢計算の概念を考慮することが不可欠です。年齢は現在の日付と生年月日の差によって決定されますが、生年月日が今年内の場合は、年齢を 1 つ減らす必要があることに注意してください。

解決策:

これを実現するには、次のクエリを実行します。雇用:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age

内訳:

  • DATE_FORMAT(NOW(), '%Y'): 現在の年を取得します。
  • DATE_FORMAT(dob, '%Y'): 年コンポーネントをdob フィールド。
  • DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d'): 現在の年がすでに顧客の誕生日を過ぎているかどうかを確認し、結果はブール値 (true の場合は 1、false の場合は 0) になります。
  • これを減算します。年の差からのブール値は、現在の年齢を正確に反映するように年齢を調整します。 customer.

例:

dob フィールドに値 1985-03-15 が含まれているとします。現在の日付 2023-04-28 の場合、クエリは次の結果を生成します:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
SELECT 2023 - 1985 - (20230428 < 19850315) AS age
SELECT 38 - 0 AS age
age = 38

したがって、この拡張されたクエリを使用すると、年齢を取得できます。 MySQL フィールドに保存された生年月日に基づいて顧客をより正確に取得します。

以上がMySQLで生年月日から年齢を計算する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。