以下のように、顧客ごとの生年月日が登録されたテーブルがあるとする。
今回はこのようなテーブルから、生年月日を用いて現在の年齢を算出する方法を紹介する。
まずは完成形のクエリを見ていこう。
SELECT
customer_name
, customer_birthday
, (current_date - customer_birthday) / 365 as age
FROM
access_log_wide
;
このクエリを実行すると以下の結果が得られる。
ポイントはコード4行目。
まず、current_date式を使って現在の日付と生年月日の差を算出する。
これにより生年月日から現在までの日数が分かるので、後は年齢を割り出すために日数を365日で割ることで、現在の年齢が分かる。
厳密には閏年の関係で正確な計算式ではないが、この程度の誤差であれば分析上そう困ることはないだろう。