今天使用between and时,查询结果与系统存在差异,就去核对了下数据表里的数据,结果发现我在使用between and查询时间段时的结束时间存在问题,因此做了多次核对,写下这个文章,希望能给大家带来帮助。

between…and的使用一般有两种情况,一个是数值范围,一个是时间范围。
第一种情况:数值范围 between A and B
A和B都是数值,同等于>=A and <=B
如查询年龄25到33的用户信息
SELECT * FROM user WHERE age BETWEEN 25 AND 33;
在这里插入图片描述
此查询包含了25岁和33岁。
第二种情况:时间范围,即查询时间段
使用时间段时要注意下结束时间的格式,2022-01-09 和2022-01-09 10:50:59 是不同的,下面举例子说明
查询2022年1月6日到2022年1月9日创建的用户信息
SELECT * FROM user WHERE create_time BETWEEN ‘2022-01-06’ AND ‘2022-01-09’;

在这里插入图片描述
SELECT * FROM user WHERE create_time BETWEEN ‘2022-01-06’ AND ‘2022-01-09 23:59:59’;
在这里插入图片描述
从上面两个查询结果可以直接看出,使用2022-01-09相当于是2022-01-09 0:0:0,因此查出的结果会少一条数据。

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐