SQLで年齢算出
Oracle
SELECT
EXTRACT(YEAR FROM SYSDATE) - EXTRACT(YEAR FROM BIRTHDAY) -
CASE WHEN
TO_CHAR(SYSDATE, 'MMDD') < TO_CHAR(BIRTHDAY, 'MMDD')
THEN
1
ELSE
0
END
FROM
SAMPLE
MySQL
SELECT
(extract(YEAR from curdate()) - extract(YEAR from birth)) -
(right(curdate(), 5) < right(birth, 5)) as age
FROM
sample