在SQL Server中进行BETWEEN

时间:2012-09-12 11:53:13

标签: sql sql-server tsql

如何获得4到8之间的数字。我想要的答案是5,6,7,但在SQL Server中使用时脚本返回4,5,6,7,8:

SELECT * 
FROM table
WHERE numbers BETWEEN '4' AND '8'

1 个答案:

答案 0 :(得分:13)

BETWEEN具有包容性。来自MSDN:

  

如果test_expression的值大于,则BETWEEN返回TRUE   或者等于begin_expression的值并且小于或等于   end_expression的值。

由于它具有包容性,因此您需要使用大于和小于:

SELECT * 
FROM yourtable
WHERE numbers > 4
   AND numbers < 8

请参阅SQL Fiddle with Demo

如果您想使用BETWEEN运算符,则需要缩短范围:

SELECT * 
FROM yourtable
WHERE numbers between 5 AND 7

请参阅SQL Fiddle with Demo