SQL BETWEEN 逆序运算符条件值

Abr*_*mad 5 sql t-sql sql-server

为什么以下 SQL 查询会显示结果?

     SELECT * FROM Products
     WHERE Price BETWEEN 10 AND 20;
Run Code Online (Sandbox Code Playgroud)

但是当我们更改值的顺序时,它不会显示任何结果?

     SELECT * FROM Products
     WHERE Price BETWEEN 20 AND 10;
Run Code Online (Sandbox Code Playgroud)

Tho*_*ner 5

 SELECT * FROM Products
 WHERE Price BETWEEN 20 AND 10;
Run Code Online (Sandbox Code Playgroud)

翻译为

 SELECT * FROM Products
 WHERE Price >= 20 AND Price <= 10;
Run Code Online (Sandbox Code Playgroud)


Raj*_*Raj 5

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

就您而言,您的陈述评估为 greater than or equal to 20 AND less than or equal to 10