简单表达式

    常用的比较操作符,请参见操作符

    除比较操作符外,还可以使用以下句式结构:

    • 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,依此类推。

    1. result
    2. ----------
    3. t
    4. (1 row)
    5. openGauss=# SELECT 2 >= 1 AND 2 <= 3 AS RESULT;
    6. result
    7. ----------
    8. t
    9. (1 row)
    10. openGauss=# SELECT 2 NOT BETWEEN 1 AND 3 AS RESULT;
    11. result
    12. ----------
    13. f
    14. (1 row)
    15. openGauss=# SELECT 2 < 1 OR 2 > 3 AS RESULT;
    16. ----------
    17. f
    18. (1 row)
    19. openGauss=# SELECT 2+2 IS NULL AS RESULT;
    20. result
    21. ----------
    22. f
    23. (1 row)
    24. openGauss=# SELECT 2+2 IS NOT NULL AS RESULT;
    25. result
    26. ----------
    27. t
    28. (1 row)
    29. openGauss=# SELECT 2+2 ISNULL AS RESULT;
    30. result
    31. f
    32. (1 row)
    33. openGauss=# SELECT 2+2 NOTNULL AS RESULT;
    34. result
    35. ----------
    36. t
    37. (1 row)
    38. openGauss=# SELECT 2+2 IS DISTINCT FROM NULL AS RESULT;
    39. result
    40. ----------
    41. t
    42. (1 row)
    43. openGauss=# SELECT 2+2 IS NOT DISTINCT FROM NULL AS RESULT;
    44. result
    45. ----------
    46. (1 row)