查看数据库MySQL中的计算值

时间:2013-02-09 07:31:53

标签: mysql

 SELECT FirstName, DateOfBirth, CURDATE(),
 (YEAR(CURDATE())-YEAR(DateOfBirth))
 - (RIGHT(CURDATE(),5)<RIGHT(DateOfBirth,5))
 AS age
 FROM basicinformation;

这是我的查询,但我想要的是在获得年龄后我必须只查看18岁以上的人。但如果我添加年龄大于或等于18的地方,我会收到查询错误。这可能是因为年龄是“as”(一个临时字段名)而不是真正的字段名称。我希望有人可以帮助我,因为如果他们已经准备好投票,我会用这个来自动检查年龄。

1 个答案:

答案 0 :(得分:0)

只需添加having age >=18即可。

SELECT FirstName, DateOfBirth, CURDATE(),
 (YEAR(CURDATE())-YEAR(DateOfBirth))
 - (RIGHT(CURDATE(),5)<RIGHT(DateOfBirth,5))
 AS age
 FROM basicinformation
HAVING age>=18;