简单表达式
常用的比较操作符,请参见操作符。
除比较操作符外,还可以使用以下句式结构:
BETWEEN操作符
a BETWEEN x_ _ AND y等效于a >= x AND a <= y
a NOT BETWEEN_ _ x AND y等效于a < x OR a > y
检查一个值是不是null,可使用:
expression_ _IS NULL
expression IS NOT NULL
或者与之等价的句式结构,但不是标准的:
expression NOTNULL
is distinct from/is not distinct from
is distinct from
A和B的数据类型、值不完全相同时为true。
A和B的数据类型、值完全相同时为false。
将空值视为相同。
is not distinct from
A和B的数据类型、值不完全相同时为false。
将空值视为相同。
<=> 安全等于操作符
在 ‘=’ 比较的基础上增加NULL值的比较,在操作符左右值都不为NULL时与 ‘=’ 结果相同。
A和B的数据类型、值不完全相同时为false。
A和B的数据类型、值完全相同时为true。
将空值视为相同。
说明:
- <=>操作符与 is not distinct from 用法完全相同。
- 该操作符仅在openGauss兼容MY类型时(即sql_compatibility = ‘B’)有效,其他类型不支持该操作符。
ROWNUM
ROWNUM是一个伪列,它返回一个数字,表示从查询中获取结果的行编号。第一行的ROWNUM为1,第二行的为2,依此类推。
result
----------
t
(1 row)
openGauss=# SELECT 2 >= 1 AND 2 <= 3 AS RESULT;
result
----------
t
(1 row)
openGauss=# SELECT 2 NOT BETWEEN 1 AND 3 AS RESULT;
result
----------
f
(1 row)
openGauss=# SELECT 2 < 1 OR 2 > 3 AS RESULT;
----------
f
(1 row)
openGauss=# SELECT 2+2 IS NULL AS RESULT;
result
----------
f
(1 row)
openGauss=# SELECT 2+2 IS NOT NULL AS RESULT;
result
----------
t
(1 row)
openGauss=# SELECT 2+2 ISNULL AS RESULT;
result
f
(1 row)
openGauss=# SELECT 2+2 NOTNULL AS RESULT;
result
----------
t
(1 row)
openGauss=# SELECT 2+2 IS DISTINCT FROM NULL AS RESULT;
result
----------
t
(1 row)
openGauss=# SELECT 2+2 IS NOT DISTINCT FROM NULL AS RESULT;
result
----------
(1 row)