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
。