历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.
4.2. 比较操作符 #
表 4.1. 比较操作符
| 操作符 | 描述 |
|---|---|
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
= | 等于 |
<> or != | 不等于 |
注意
!= 操作符在解析器阶段会转换为 <>。不可能实现行为不同的 != 和 <> 操作符。
比较操作符适用于所有相关的数据类型。所有比较操作符都是返回 boolean 类型值的二元操作符;类似 1 < 2 < 3 的表达式是无效的(因为没有用于比较布尔值和 3 的 < 操作符)。
除了比较操作符之外,还可以使用特殊的
BETWEEN 结构。
aBETWEENxANDy
等价于
a>=xANDa<=y
类似地,
aNOT BETWEENxANDy
等价于
a<xORa>y
除了把第一种形式在内部改写为第二种形式所需的 CPU 周期外,这两种形式没有任何区别。
要检查一个值是否为 NULL,可以使用结构
expressionIS NULLexpressionIS NOT NULL
请不要使用
,因为 NULL 不“等于” NULL。(NULL 表示一个未知的值,因此两个未知的值是否相等是未知的。)Postgres 目前会把
expression = NULLx = NULL 子句转换为 x IS NULL,以便让一些有问题的客户端应用(如
Microsoft Access)能够工作,但这在未来的版本中可能会被停用。