Slide 88
Slide 88 text
Analytics Innovation Company ©BrainPad Inc. 87
3-4-2. 誕生日から年齢を求める
誕生日から年齢を求める手順
1. REPLACE(日付, ‘-’, ‘’)
現在日付と誕生日について、yyyy-mm-dd形式のハイフン’-’
を空文字’’に置換し、yyyymmdd形式に直す
2. CAST(yyyymmdd AS UNSIGNED)
整数型(INTEGER)に変換
3. 差をとって10000で割り、小数部分切り捨て
切り捨てはTRUNCATE(数値 , 0)
例. 現在日付2018-04-24, 誕生日1995-06-21
(20180424 – 19950621) / 10000
=22.98 → 22歳
※この方法でなぜ年齢を求めることができるのかについては、各自
調べてください(年齢を求めるAGE関数がサポートされているDB製
品もあります)
解説
/*
userテーブルのbirthdayから、現在の日付におけ
るユーザーの年齢を求める。
・抽出フィールド:id, current_date, birthday,
age
・idの昇順で5件分表示
*/
SELECT
id
,CURRENT_DATE
AS `current_date`
,birthday
,TRUNCATE(
(CAST(REPLACE(CURRENT_DATE,
‘-’, ‘’) AS UNSIGNED)
- CAST(REPLACE(birthday, ‘-’,
‘’)AS UNSIGNED))
/ 10000, 0) AS `age`
…以下省略
SQL