ホームページ > データベース > mysql チュートリアル > MySQL を使用して年の差を正確に計算するにはどうすればよいですか?

MySQL を使用して年の差を正確に計算するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-29 18:12:10
オリジナル
1033 人が閲覧しました

 How to Accurately Calculate Age Difference in Years Using MySQL?

MySQL での年齢差を整数として計算する

データベース内の個人の年齢を決定すると、日付の計算を扱うときに問題が発生する可能性があります。 MySQL の組み込み関数 DATEDIFF は、2 つの日付の差を日単位で計算します。このため、年齢を年単位で取得するにはさらに処理が必要です。

1 つの方法では、日数の差を 365 で割りますが、結果は浮動小数点になります。価値。整数を取得するには、現在の日付と生年月日の年の要素を減算できます。

SELECT id, year(curdate())-year(birth_date)
FROM student
ログイン後にコピー
ただし、この方法では、現在の月以降に生まれた個人の計算された年齢が 1 年ずれている場合に問題が発生します。 。たとえば、1970 年 6 月に生まれた人は、まだ 31 歳 5 か月であっても、この方法を使用すると 32 歳とみなされます。

解決策:

この問題に対処するために、MySQL は、年齢差を計算するためのより正確なアプローチを提供する TIMESTAMPDIFF 関数を提供します。次のクエリは TIMESTAMPDIFF を利用しています:

SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference
FROM student
ログイン後にコピー
YEAR を MONTH または DAY に置き換えることで、年齢差をそれぞれ月または日で計算できます。この方法は、特定の月に年齢が 1 単位だけ異なるシナリオを効果的に処理します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート