SELECT FirstName, DateOfBirth, CURDATE(),
(YEAR(CURDATE())-YEAR(DateOfBirth))
- (RIGHT(CURDATE(),5)<RIGHT(DateOfBirth,5))
AS age
FROM basicinformation;
这是我的查询,但我想要的是在获得年龄后我必须只查看18岁以上的人。但如果我添加年龄大于或等于18的地方,我会收到查询错误。这可能是因为年龄是“as”(一个临时字段名)而不是真正的字段名称。我希望有人可以帮助我,因为如果他们已经准备好投票,我会用这个来自动检查年龄。
答案 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;