SELECT FirstName, DateOfBirth, CURDATE(),
(YEAR(CURDATE())-YEAR(DateOfBirth))
- (RIGHT(CURDATE(),5)<RIGHT(DateOfBirth,5))
AS age
FROM basicinformation;
这是我的查询,但我想要的是在获得年龄后我必须只查看 18 岁以上的人。但是如果我添加年龄大于或等于 18 岁的地方。我会收到查询错误。这可能是因为 age 是“as”(临时字段名)而不是真正的字段名。我希望有人能帮助我,因为如果他们已经准备好投票,我会用它来自动检查年龄。
最佳答案
只需添加 having age >=18
。
SELECT FirstName, DateOfBirth, CURDATE(),
(YEAR(CURDATE())-YEAR(DateOfBirth))
- (RIGHT(CURDATE(),5)<RIGHT(DateOfBirth,5))
AS age
FROM basicinformation
HAVING age>=18;
关于mysql - 查看数据库 MySQL 中的计算值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14785967/