case when 的用法就像是java的三元运算符:
# 46、查询各学生的年龄(按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一) SELECT s_birth, s_name, ( DATE_FORMAT( NOW( ), '%Y' ) - DATE_FORMAT( s_birth, '%Y' ) - ( CASE WHEN DATE_FORMAT( NOW( ), '%m%d' ) > DATE_FORMAT( s_birth, '%m%d' ) THEN 0 ELSE 1 END ) ) AS age FROM student;