在sql我试图连接到数据库并找到今天,明天和昨天的生日,sql代码看起来像这样
SELECT
Emp_Name,
DATE_FORMAT(Emp_DOB,'%d-%b') AS dob
FROM mldob.tbl_mldob WHERE
DATE_FORMAT(Emp_DOB,'%m-%d') IN (
DATE_FORMAT(CURDATE() - INTERVAL 1 DAY,'%m-%d'),
DATE_FORMAT(CURDATE(),'%m-%d'),
DATE_FORMAT(CURDATE()+INTERVAL 1 DAY,'%m-%d')
)
order by(emp_dob);
但是EMP_DOB列显示为空,并且相同的MySql查询在mysql workbench中正常工作。所以任何人都可以建议我在哪里出错,并提出可能的解决办法。
提前感谢。
答案 0 :(得分:1)
使用Emp_DOB代替'dob'
SELECT
Emp_Name,
DATE_FORMAT(Emp_DOB,'%d-%b') AS Emp_DOB
FROM mldob.tbl_mldob WHERE
DATE_FORMAT(Emp_DOB,'%m-%d') IN (
DATE_FORMAT(CURDATE() - INTERVAL 1 DAY,'%m-%d'),
DATE_FORMAT(CURDATE(),'%m-%d'),
DATE_FORMAT(CURDATE()+INTERVAL 1 DAY,'%m-%d')
)
order by(emp_dob);