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