为什么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);
答
使用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);
非常感谢,工作完美。 – Kiran