1. 程式人生 > >關於sql語句between and的邊界問題 關於sql語句between and的邊界問題

關於sql語句between and的邊界問題 關於sql語句between and的邊界問題

關於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處理。

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處理。