为什么DATE_ADD和str_to_date没有返回任何结果?

问题描述:

从用户界面,用户可以选择一个日期并点击提交按钮,根据输入字段如何显示下一个30天的记录为什么DATE_ADD和str_to_date没有返回任何结果?

这是我sqlfiddle http://sqlfiddle.com/#!9/dbcd9/1

我一直在使用DATE_ADD尝试和STR_TO_DATE

select * from historical_data where current_day between 
str_to_date('2015-10-02','%Y-%m-%d') and DATE_ADD(str_to_date('2015-10-02','%Y-%m-%d'), 
INTERVAL 1 MONTH) 

但它为什么不显示任何数据?

您需要使用STR_TO_DATE在其上保存的列名为varchar日期

select * from historical_data 
where str_to_date(current_day,'%m-%b-%Y') 
between 
'2015-10-02' and DATE_ADD('2015-10-02',INTERVAL 1 MONTH); 
+0

非常感谢,工作完美。 – Kiran

使用str_to_date这样的: - 在哪里的情况下

str_to_date('01-OCT-2015','%d-%b-%Y') 

str_to_date(current_day,'%d-%b-%Y') 

使用STR_TO_DATE: -

where str_to_date(current_day,'%d-%b-%Y') 

查询: -

where str_to_date(current_day,'%d-%b-%Y') between 
'2015-10-02' and DATE_ADD('2015-10-02',INTERVAL 1 MONTH);