SELECT
CASE
WHEN LENGTH(s.CARD_ID)=18 THEN YEAR (now()) - YEAR (substring(s.CARD_ID, 7, 8))
WHEN LENGTH(s.CARD_ID)=15 THEN YEAR (now()) - YEAR(STR_TO_DATE(CONCAT('19',substring(s.CARD_ID, 7, 2)),'%Y'))
ELSE NULL
END AS AGE
FROM s_person s;
SELECT
CASE
WHEN LENGTH(s.CARD_ID)=18 THEN YEAR (now()) - YEAR (substring(s.CARD_ID, 7, 8))
WHEN LENGTH(s.CARD_ID)=15 THEN YEAR (now()) - YEAR(STR_TO_DATE(CONCAT('19',substring(s.CARD_ID, 7, 2)),'%Y'))
ELSE NULL
END AS AGE
FROM s_person s;