表数据如下:
使用如下sql查询日期范围无效:
select * from sys_record where str_to_date(record_date,'%Y年%m月%d日') between '2019年7月29日' and '2019年08月04日';
如果,要查询日期范围sql应该怎么修改?
表数据如下:
使用如下sql查询日期范围无效:
select * from sys_record where str_to_date(record_date,'%Y年%m月%d日') between '2019年7月29日' and '2019年08月04日';
如果,要查询日期范围sql应该怎么修改?
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
1、先将字符转换成date类型,示例:ifnull(str_to_date(record_date,'%Y-%m-%d'),str_to_date(record_date,'%Y年%m月%d日'))
2、查询条件,尽量用date格式可以识别的格式 如'2019-07-29' 而非 '2019年7月29日'
另外,这种每次都要转换再查询的效率很低,如表操作频繁建议增加扩展字段或将转换好的数据插入到新表,再做查询