当操作数交换时,为什么SQL Server&Between?不工作?

时间:2016-12-11 17:42:57

标签: sql-server

假设我们有一个包含int列(主键)的表,而且其他几列也是如此,上表包含数据。

此查询有效:

SELECT * 
FROM Table 
WHERE Id BETWEEN 1 AND 5

但是,此查询无效:

SELECT * 
FROM Table 
WHERE Id BETWEEN 5 AND 1

我需要解释为什么当我交换操作数时反向不工作。请解释一下。

1 个答案:

答案 0 :(得分:3)

the manual:"如果test_expression的值大于或等于begin_expression的值且小于或等于end_expression的值,则BETWEEN返回TRUE。"