ホームページ >データベース >mysql チュートリアル >MySQL で dd-mm-yyyy の生年月日から年齢を正確に計算するにはどうすればよいですか?

MySQL で dd-mm-yyyy の生年月日から年齢を正確に計算するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-16 11:52:021013ブラウズ

How to Accurately Calculate Age from a dd-mm-yyyy Date of Birth in MySQL?

MySQL (InnoDB) での dd-mm-yyyy 生年月日からの正確な年齢計算

このガイドでは、MySQL InnoDB テーブル内に dd-mm-yyyy 形式で保存されている生年月日 (DOB) から年齢を正確に判断する方法について説明します。 現在の日付から生年月日を引くと結果が得られますが、この結果を正しく解釈することが正確な年齢計算の鍵となります。

結果の形式を理解する

MySQL の日付減算はタイムスタンプ、つまりエポック (1970-01-01 00:00:00 UTC) からの経過秒数を表す整数を返します。 これは age に直接使用できるわけではありません。さらに処理が必要です。

TIMESTAMPDIFF() による年齢の計算

TIMESTAMPDIFF() 関数は解決策を提供します。 3 つの引数を取ります:

  1. 単位: '年'、'月'、'日'、または '時間'。
  2. datetime_expr1: 生年月日
  3. datetime_expr2: 現在の日付 (CURDATE() を使用)。

SQL クエリの例:

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>

このクエリは、単位を「YEAR」に設定し、DOB として「1970-02-01」を使用し、現在の日付として CURDATE() を使用して、年齢を「age」列に保存します。 '1970-02-01' を実際の DOB 列に忘れずに置き換えてください。

以上がMySQL で dd-mm-yyyy の生年月日から年齢を正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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