ホームページ >データベース >mysql チュートリアル >MySQL の TIMESTAMPDIFF() を使用して生年月日から年齢を計算する方法は?
MySQL (InnoDB) データベースの年齢の決定
個々の生年月日を「dd-mm-yyyy」形式で保存するデータベース テーブルがあるとします。 年齢を計算するには、現在の日付から生年月日を引く必要がありますが、これにより日付の差が生じ、すぐに使用できる年齢ではなくなります。
年齢を年単位で取得するには、TIMESTAMPDIFF()
関数を使用します。この関数は 2 つの日時式の差を計算し、選択した単位で結果を提供します。
関数構文:
<code class="language-sql">TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)</code>
これを適用して年齢を計算する方法は次のとおりです:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>
このクエリは、現在の日付 (CURDATE()
) から生年月日 ('1970-02-01') を減算し、その差を年単位で返します。
例:
生年月日が「1970-02-01」、現在の日付が「2023-02-01」の場合:
<code>TIMESTAMPDIFF(YEAR, '1970-02-01', '2023-02-01') = 53</code>
計算上の年齢は 53 歳です。
重要な考慮事項:
生年月日列が正しくフォーマットされた datetime
または date
タイプであることを確認してください。 TIMESTAMPDIFF()
には互換性のあるデータ型が必要です。
以上がMySQL の TIMESTAMPDIFF() を使用して生年月日から年齢を計算する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。