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

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

4

1 回答 1

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;
于 2013-02-09T07:47:14.797 回答