今天在进行数据查询时,遇到了一个问题,按照录入日期进行查询,情况如下:
1.在我们系统date类型 字段中,比如2019-2-1 12:23:01存储的为这种格式,但是前台页面传过来为2019-2-1格式的字符串,所以我们需要进行格式转换,但是转换格式精度问题导致意想不到的问题,比如我查2018-12-7号的数据,下面为sql:
select * from table s where s.input_date>=to_date('2018-12-7','yyyy-MM-dd') and s.input_date<=to_date('2018-12-7','yyyy-MM-dd')
执行sql并没有查询出所需要的数据,因为我们input_date日期类型格式问题,在转换过程中精度不对,所以查询不出来,查阅网上有一种解决方案是在各式中增加fm >>>yyyy-fmMM-fmdd 这种是错误的处理方式,只能生效一个,并不能将月和日进行特殊处理,最后没办法,使用其他思路进行处理,在我们结束日期时增加1然后进行<处理,完美解决,如果各位有更好的处理方案,请下面留言。
select * from table s where s.input_date>=to_date('2018-12-7','yyyy-MM-dd') and s.input_date<to_date('2018-12-7','yyyy-MM-dd')+1

本文描述了在数据库查询中遇到的日期格式不匹配问题及解决方案。由于前后端日期格式差异,直接查询无法获取预期结果。通过调整查询条件,即在结束日期上加1天并使用小于操作符,成功解决了日期精度问题。
5610

被折叠的 条评论
为什么被折叠?



