这里的Sage在数据库中格式是:1990-01-01 00:00:00 # 40查询各学生的年龄,只按年份来算 select *, (year(curdate()) - year(Sage)) as '年龄' from student; # 41按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一 select sid, sname, TIMESTAMPDIFF(YEAR, sage, CURDATE()) as '学生年龄' from student; # 42查询本周过生日的学生 select * FROM student WHERE WEEKOFYEAR(sage) = WEEKOFYEAR(CURDATE()); # 43查询下周过生日的学生 select * FROM student WHERE WEEKOFYEAR(sage) = WEEKOFYEAR(CURDATE())+1; # 44查询本月过生日的学生 select * FROM student WHERE MONTH(sage) = MONTH(CURDATE()) ; # 45查询下月过生日的学生 select * FROM student WHERE MONTH(sage) = MONTH(CURDATE()) +1;
MySQL经典面试题目,关于年龄,生日计算
于 2022-05-24 19:53:50 首次发布