根据年龄,通过列中的生日和当天的天数来选择数据库中的记录

时间:2016-01-31 05:48:33

标签: mysql

我正在为一份报告工作,该报告将根据记录和当前日期的出生日期差异向员工显示年龄为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"

1 个答案:

答案 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()相反。