转载请标明出处:
https://blog.youkuaiyun.com/weixin_41965979/article/details/81166812
本文出自付付讶的博客
最近实现一个按日期范围查询列表,例如输入的是日期 2018-07-21到2018-07-23,想得到21号到23号的数据,
执行 select * from table where date between '2018-07-21' and '2018-07-23' 结果是21号到22号的数据,这是因为时间范围是21号0时0分0秒到23号0时0分0秒之间的数据,
下面说的是两种数据库的解决方案(亲测有效,oracle的还没测过以后补充)
SqlServer数据库:(date为数据库日期字段)
select * from table where CONVERT(nvarchar(10),date,120) between '2018-07-21' and '2018-07-23'
MySql数据库:
select * from table where date between '2018-07-21' and date_add('2018-07-23',interval 1 day)
就可以放心的查询日期了,有问题欢迎留言。