MySQL“between”语句不包含边界?

168

如果我使用 between 子句运行一个查询,它似乎会排除结束值。
例如:

select * from person where dob between '2011-01-01' and '2011-01-31'
这会获取所有从'2011-01-01'到'2011-01-30'的dob结果,并跳过dob为'2011-01-31'的记录。 有人可以解释一下为什么这个查询会以这种方式运作,以及我如何修改它以包括dob为'2011-01-31'的记录?(不要添加1到结束日期,因为它是由用户选择的。)

2
不是的。在我的MySQL安装(版本?)中,“BETWEEN”对于两个值都是包含的。我在Windows 10上使用的是“MySQL Server 5.7”。 - Green
11个回答

0
select * from person where dob between '2011-01-01' and '2011-01-31' or dob like' 2011-01-31%'

只需添加或<<column>> like "date%"即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接