如何获取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
请参考带演示的 SQL Fiddle
如果你想使用BETWEEN
运算符,那么你需要缩短范围:
SELECT *
FROM yourtable
WHERE numbers between 5 AND 7
WHERE numbers BETWEEN 4 AND 8
就可以了 - 完全不需要引号。 - marc_s'41'
жШѓ еЬ®'4'
еТМ'8'
дєЛйЧіпЉМдљЖ41
дЄНеЬ®4
еТМ8
дєЛйЧігАВдЄНи¶Бе∞ЖжХ∞е≠ЧиІЖдЄЇе≠Чзђ¶дЄ≤пЉМеЃГдїђеєґдЄНзЫЄеРМпЉБ - Remus Rusanu