【发布时间】:2019-11-28 16:35:51
【问题描述】:
我有这张员工表:
Name birth_date retirement_age
Andy 1964-03-13 56
Bertha 1964-11-16 55
Chris 1964-03-08 58
Damon 1964-04-11 56
我正在尝试通过使用 date_add() 将退休年龄添加到他们的出生日期来确定本月(2019 年 11 月)退休的员工。 退休日期总是在月底。
这就是我一直在做的事情:
SELECT Name,
@ra:=CAST(retirement_age AS UNSIGNED),
LAST_DAY(DATE_ADD(`birth_date`, INTERVAL @ra year)) as `retirement_date`,
FROM `employees`
HAVING
`retirement_date`='2019-11-30'
问题是查询产生了 0 个结果,而它本应返回 1 个结果 (Bertha)。 我不明白它有什么问题。
有人可以帮助或推荐我正确的方法吗? 提前致谢。
【问题讨论】:
-
你为什么使用 Have 而不是 Where?