誕生日から年齢を計算する【PostgreSQL】
概要
誕生日から年齢を計算するにはage関数を使用します。
結果は次の例のようにinterval値(XX years XX mons XX days)という値になります。
--誕生日から年齢を計算する
age( 誕生日の日付 )
-- 実行例
select age(timestamp '1980-01-01'); -- 41 years 1 day
select age(timestamp '1990-04-01'); -- 30 years 9 mons 1 day
select age(timestamp '1997-07-07'); -- 23 years 5 mons 26 days
実行例(呼び出し例)
上のままでは少々使いづらいので、年、月、日付だけ取得する例です。
--誕生日から年(何歳か)を取得
select date_part('year', age(timestamp '1980-01-01')); -- 41
select date_part('year', age(timestamp '1997-07-07')); -- 23
--誕生日から月(何ヶ月か)を取得
select date_part('month', age(timestamp '1980-01-01')); -- 0
select date_part('month', age(timestamp '1997-07-07')); -- 5
--誕生日か日(何日か)を取得
select date_part('day', age(timestamp '1980-01-01')); -- 1
select date_part('day', age(timestamp '1997-07-07')); -- 26
関連記事