小知识点,在mysql中,between语法值的边界值不是固定的
在比较纯数字时,例如
select * from table where age between '10' and '20';
是左右都包含的,等同于:
select * from table where age >= 10 and age <=20;
在比较日期时(timestamp)时,是包含左边边界,不包含右边边界的, 例如
select * from table where creation_time between '20200618' and '20200620';
这里查询出来的结果是20200618和20200619的数据,因为Mysql会自动将这种格式转换为2020-06-18 00:00:00的格式,所以右边界会转换为2020-06-20 00:00:00,然后<=2020-06-20 00:00:00,自然就查不到6月20号当日的数据了。