// 查询年龄 SELECT TIMESTAMPDIFF(YEAR, birthday, CURDATE()) AS age FROM user; // 带有性别限制的查询 SELECT TIMESTAMPDIFF(YEAR, birthday, CURDATE()) AS age FROM user WHERE sex = 'male' AND TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 18 AND 60; // 计算18岁以下的人数 SELECT COUNT(*) AS count FROM user WHERE TIMESTAMPDIFF(YEAR, birthday, CURDATE())< 18;
年龄计算的原理是利用TIMESTAMPDIFF函数,该函数用于计算两个日期之间的差值(年、月、日等)。其中,TIMESTAMPDIFF函数的第一个参数指定时间单位,第二个参数是被减数日期,第三个参数是减数日期。
在查询语句中进行年龄检查时,需要将TIMESTAMPDIFF函数计算的结果作为查询结果集的一列,并赋予别名(如“age”),从而方便后续处理。
在实际的应用中,MySQL年龄检查通常涉及到多个条件的组合,例如同时根据性别和年龄限制查询。此时需要使用AND或OR等逻辑运算符进行条件的组合或条件的嵌套。