Snowflake で作った DWH 上で生年月日から年齢を算出する必要があったのでメモ。
今日の日付YYYYMMDD から 誕生日YYYYMMDD を数字としてマイナスして、10000で割って端数を切り捨てればOK
select floor((to_varchar(current_date, 'YYYYMMDD')::number - to_varchar(d.date_of_birth, 'YYYYMMDD')::number) / 10000) as age from dim_person as d;