MySQL curdate()行为无法正常工作
我有一个正在执行的select查询,但在使用以下逻辑时遇到错误:MySQL curdate()行为无法正常工作,mysql,Mysql,我有一个正在执行的select查询,但在使用以下逻辑时遇到错误: and (dre.completion_date >= (curdate() - 1) and dre.completion_date < curdate() ); 和(dre.completion\u date>=(curdate()-1)和dre.completion\u date=(“2015-01-01”-1)和数据完成日期
and (dre.completion_date >= (curdate() - 1) and dre.completion_date < curdate() );
和(dre.completion\u date>=(curdate()-1)和dre.completion\u date
上面的查询在我的查询中返回零个结果,但是下面的查询返回正确数量的结果:
and (dre.completion_date >= ("2015-01-01" - 1) and dre.completion_date < "2015-01-01" );
和(数据完成日期>=(“2015-01-01”-1)和数据完成日期<“2015-01-01”);
为什么硬编码的日期起作用,但功能不起作用?任何帮助都将不胜感激 更改以下行:
(curdate() - 1)
致:
更改以下行:
(curdate() - 1)
致:
完成日期的数据类型是什么?完成日期的数据类型是什么?是的,应该可以解决问题。表达式CURDATE()-1
最终将日期转换为一个数字:今天,select CURDATE()-1
给了我20150100
-显然,这不是你想要的:)是的,这应该可以解决问题。表达式CURDATE()-1
最终将日期转换为一个数字:今天,select CURDATE()-1
给了我20150100
-显然,不是你想要的:)