如何获得 4 到 8 之间的数字。我想要的答案是 5、6、7,但脚本在 SQL Server 中使用时返回 4、5、6、7、8:
SELECT *
FROM table
WHERE numbers BETWEEN '4' AND '8'
如何获得 4 到 8 之间的数字。我想要的答案是 5、6、7,但脚本在 SQL Server 中使用时返回 4、5、6、7、8:
SELECT *
FROM table
WHERE numbers BETWEEN '4' AND '8'
BETWEEN
是包容的。来自 MSDN:
如果 test_expression 的值大于或等于 begin_expression 的值且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE。
由于它是包容性的,您将希望使用大于和小于:
SELECT *
FROM yourtable
WHERE numbers > 4
AND numbers < 8
如果要使用BETWEEN
运算符,则需要缩短范围:
SELECT *
FROM yourtable
WHERE numbers between 5 AND 7