0

直到“2013-07-31”我才得到结果,而是在 endDate 前一天得到结果。如何在“2013-07-31”中添加一天

select * from employee 
where admissiondate>='2013-01-01' 
and admissiondate<='2013-07-31'
4

2 回答 2

4

2013-07-31 12:00:00既不小于也不完全等于2013-07-31

datetime要修复它,您可以使用从列中删除时间部分date()

select * from employee 
where date(admissiondate) between '2013-01-01' and '2013-07-31'

但这不会使用索引。或者像这样添加时间部分

select * from employee 
where admissiondate >= '2013-01-01' 
and admissiondate <= '2013-07-31 23:59:59'

SQLFiddle 演示

于 2013-07-31T16:09:07.717 回答
1

使用 DATE_ADD() 函数...

MySQL 文档

于 2013-07-31T16:16:45.050 回答