Comparison Operators
下表显示了标准的比较运算符。
每当任一输入参数为NULL时,比较的输出为NULL。
| 操作符 | 描述 | 示例 | 结果 |
|---|---|---|---|
< |
小于 | 2 < 3 |
true |
> |
大于 | 2 > 3 |
false |
<= |
小于或等于 | 2 <= 3 |
true |
>= |
大于或等于 | 4 >= NULL |
NULL |
= |
等于 | NULL = NULL |
NULL |
<> 或 != |
不等于 | 2 <> 2 |
false |
下表显示了标准的区分运算符。
这些运算符将NULL值视为相等。
| 操作符 | 描述 | 示例 | 结果 |
|---|---|---|---|
IS DISTINCT FROM |
不等于,包括 NULL |
2 IS DISTINCT FROM NULL |
true |
IS NOT DISTINCT FROM |
相等,包括 NULL |
NULL IS NOT DISTINCT FROM NULL |
true |
BETWEEN 和 IS [NOT] NULL
除了标准的比较运算符外,还有BETWEEN和IS (NOT) NULL运算符。这些运算符的行为与运算符非常相似,但SQL标准规定了特殊的语法。它们在下面的表格中显示。
请注意,BETWEEN 和 NOT BETWEEN 仅在 a、x 和 y 类型相同的情况下与下面的示例等价,因为 BETWEEN 会将其所有输入转换为相同类型。
| 谓词 | 描述 |
|---|---|
a BETWEEN x AND y |
等同于 x <= a AND a <= y |
a NOT BETWEEN x AND y |
等同于 x > a OR a > y |
expression IS NULL |
true 如果 expression 是 NULL,否则为 false |
expression ISNULL |
IS NULL 的别名(非标准) |
expression IS NOT NULL |
false 如果表达式是 NULL,否则为 true |
expression NOTNULL |
IS NOT NULL 的别名(非标准) |
对于表达式
BETWEEN x AND y,x用作下界,y用作上界。因此,如果x > y,结果将始终为false。