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