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

时间:2015-11-06 12:51:47

标签: mysql

从用户界面,用户可以选择日期并点击提交按钮,根据输入字段如何显示未来30天的记录?

这是我的sqlfiddle {{3}}

我尝试过使用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)

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

2 个答案:

答案 0 :(得分:2)

您需要对保存为varchar date

的列名使用str_to_date
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);

答案 1 :(得分:0)

像这样使用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);