ホームページ >データベース >mysql チュートリアル >MySQL で dd-mm-yyyy の生年月日から年齢を正確に計算するにはどうすればよいですか?
MySQL (InnoDB) での dd-mm-yyyy 生年月日からの正確な年齢計算
このガイドでは、MySQL InnoDB テーブル内に dd-mm-yyyy 形式で保存されている生年月日 (DOB) から年齢を正確に判断する方法について説明します。 現在の日付から生年月日を引くと結果が得られますが、この結果を正しく解釈することが正確な年齢計算の鍵となります。
結果の形式を理解する
MySQL の日付減算はタイムスタンプ、つまりエポック (1970-01-01 00:00:00 UTC) からの経過秒数を表す整数を返します。 これは age に直接使用できるわけではありません。さらに処理が必要です。
TIMESTAMPDIFF() による年齢の計算
TIMESTAMPDIFF()
関数は解決策を提供します。 3 つの引数を取ります:
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 サイトの他の関連記事を参照してください。