关于sql语句between and的边界问题

Posted 杨浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于sql语句between and的边界问题相关的知识,希望对你有一定的参考价值。

BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

1 SELECT column_name(s)
2 FROM table_name
3 WHERE column_name
4 BETWEEN value1 AND value2

 

重要事项

不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

一般情况

SQL Server中 between and是包括边界值的,not between不包括边界值,不过如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默认为00:00:00 例如:and 后的日期为2017年04月06日,就等价于2017-04-06 00:00:00 ,那么2017-04-06 15:10:34的数据就差不到了,需要进行to_char处理。

以上是关于关于sql语句between and的边界问题的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 数据查询语句中between and 是包含边界值的

【SQL语句】-范围查询

sql中between包含边界值吗?

SQL语句中 between and

sql语句条件里between的用法

SQL中 between and 包不包括两端值