我正在为一份报告工作,该报告将根据记录和当前日期的出生日期差异向员工显示年龄为59岁的姓名。我尝试了一些东西,但我知道它已被弃用,但我正在展示这个让你理解我尝试过的东西。请有人能为我解决这个问题! 这是我的小提琴............
"select
emp.EMP_ID,
emp.BIRTH_DATE
from bf_hrm_ls_employee as emp
where (DATEDIFF('y',date('Y:m:d'),emp.BIRTH_DATE) = 59) order by emp.EMP_ID"
答案 0 :(得分:1)
正确的语法是
SELECT emp.EMP_ID, emp.BIRTH_DATE
FROM bf_hrm_ls_employee AS emp
WHERE (TIMESTAMPDIFF(YEAR, emp.BIRTH_DATE, CURRENT_DATE()) = 59)
ORDER BY emp.EMP_ID
注意TIMESTAMPDIFF()
的DATE参数的顺序;较早的日期必须首先给出正面结果,这与DATEDIFF()
相反。