MariaDBでは、TIMESTAMPDIFF()
を使用できます 人の年齢(またはそのことについては何かの年齢)を計算する関数。
TIMESTAMPDIFF()
は、2つの日時式の差を返す組み込みの日時関数です。 YEAR
を渡す 最初の引数として、2番目の引数として生年月日、3番目の引数として現在の日付が、年齢を年単位で返します。
例
デモンストレーションの例を次に示します。
SELECT TIMESTAMPDIFF(YEAR, '1985-02-15', CURDATE()) AS Age;
結果:
+------+ | Age | +------+ | 36 | +------+
ここでは、CURDATE()
を使用します 現在の日付を返します。
データベースの例
これは、データベース内のペットの年齢を返し、結果を年齢の降順で並べ替える例です。
SELECT
PetName,
DOB,
CURDATE(),
TIMESTAMPDIFF(YEAR, DOB, CURDATE()) AS Age
FROM Pets
ORDER BY Age DESC;
結果:
+---------+------------+------------+------+ | PetName | DOB | CURDATE() | Age | +---------+------------+------------+------+ | Scratch | 2018-10-01 | 2021-05-30 | 2 | | Fetch | 2019-08-16 | 2021-05-30 | 1 | | Wag | 2020-03-15 | 2021-05-30 | 1 | | Fluffy | 2020-11-20 | 2021-05-30 | 0 | | Tweet | 2020-11-28 | 2021-05-30 | 0 | | Fluffy | 2020-09-17 | 2021-05-30 | 0 | | Bark | NULL | 2021-05-30 | NULL | | Meow | NULL | 2021-05-30 | NULL | +---------+------------+------------+------+
1歳未満のペットの年齢は0
。
生年月日列がnull
の場合 、結果はnull
です 。