首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL "between“子句不包含?

MySQL "between“子句不包含?
EN

Stack Overflow用户
提问于 2011-02-23 00:22:23
回答 9查看 131.9K关注 0票数 153

如果我使用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,因为它是由用户选择的。)

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-02-23 00:40:17

字段dob可能具有时间部分。

要截断它,请执行以下操作:

select * from person 
where CAST(dob AS DATE) between '2011-01-01' and '2011-01-31'
票数 199
EN

Stack Overflow用户

发布于 2011-02-23 00:35:14

问题是2011-01-31实际上是2011-01-31 00:00:00。这是一天的开始。白天的一切都不包括在内。

票数 110
EN

Stack Overflow用户

发布于 2011-02-23 00:30:43

select * from person where dob between '2011-01-01 00:00:00' and '2011-01-31 23:59:59'
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5080824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档