PL/SQL - 运算符

  • 简述

    在本章中,我们将讨论 PL/SQL 中的运算符。运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作。PL/SQL 语言具有丰富的内置运算符,并提供以下类型的运算符 -
    • 算术运算符
    • 关系运算符
    • 比较运算符
    • 逻辑运算符
    • 字符串运算符
    在这里,我们将一一了解算术、关系、比较和逻辑运算符。字符串运算符将在后面的章节中讨论 -PL/SQL - Strings.
  • 算术运算符

    下表显示了 PL/SQL 支持的所有算术运算符。让我们假设variable A 持有 10 和 variable B 持有 5,然后 -
    操作符 描述 例子
    + 添加两个操作数 A + B 得到 15
    - 从第一个操作数中减去第二个操作数 A - B 得到 5
    * 将两个操作数相乘 A * B 得到 50
    / 分子除以分数 A / B 得到 2
    ** 求幂运算符,将一个操作数提高到另一个操作数的幂 A ** B 得到 100000
  • 关系运算符

    关系运算符比较两个表达式或值并返回布尔结果。下表显示了 PL/SQL 支持的所有关系运算符。让我们假设variable A 持有 10 和 variable B 持有 20,然后 -
    操作符 描述 例子
    = 检查两个操作数的值是否相等,如果是,则条件为真。 (A = B) 是不正确的。

    !=

    <>

    ~=

    检查两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 是真的。
    > 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 为假。
    < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为真。
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 为假。
    <= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件成立。 (A <= B) 为真
  • 比较运算符

    比较运算符用于将一个表达式与另一个表达式进行比较。结果总是要么TRUE, FALSE 要么 NULL.
    操作符 描述 例子
    LIKE LIKE 运算符将字符、字符串或 CLOB 值与模式进行比较,如果该值与模式匹配,则返回 TRUE,否则返回 FALSE。 如果 'Alex Moo' like 'Z% A_i' 返回布尔值 true,而 'Nuha Moo' like 'Z% A_i' 返回布尔值 false。
    BETWEEN BETWEEN 运算符测试一个值是否在指定范围内。x BETWEEN a AND b 表示 x >= a 且 x <= b。 如果 x = 10,则 5 到 20 之间的 x 返回 true,5 到 10 之间的 x 返回 true,但 11 到 20 之间的 x 返回 false。
    IN IN 运算符测试集成员资格。x IN (set) 表示 x 等于 set 的任何成员。 如果 x = 'm' 那么 x in ('a', 'b', 'c') 返回布尔值 false 但 x in ('m', 'n', 'o') 返回布尔值 true。
    IS NULL 如果操作数为 NULL,则 IS NULL 运算符返回 BOOLEAN 值 TRUE;如果操作数不是 NULL,则返回 FALSE。涉及 NULL 值的比较总是产生 NULL。 如果 x = 'm',则 'x is null' 返回布尔值 false。
  • 逻辑运算符

    下表显示了 PL/SQL 支持的逻辑运算符。所有这些运算符都作用于布尔操作数并产生布尔结果。让我们假设variable A 成立并且 variable B 为假,然后 -
    操作符 描述 例子
    AND 称为逻辑 AND 运算符。如果两个操作数都为真,则条件为真。 (A 和 B) 是错误的。
    OR 称为逻辑 OR 运算符。如果两个操作数中的任何一个为真,则条件变为真。 (A 或 B) 是正确的。
    NOT 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将使其为假。 不是(A 和 B)是真的。
  • PL/SQL 运算符优先级

    运算符优先级决定了表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符。
    例如, x = 7 + 3 * 2; 这里,x 被安排了 13, 不是 20 因为运算符 * 的优先级高于 +,所以它首先乘以 3*2 然后加入 7.
    在这里,具有最高优先级的运算符出现在表格的顶部,具有最低优先级的运算符出现在底部。在表达式中,优先级更高的运算符将首先被评估。
    运算符的优先级如下:=、<、>、<=、>=、<>、!=、~=、^=、IS NULL、LIKE、BETWEEN、IN。
    操作符 操作
    ** 取幂
    +, - 标识,取反
    *, / 乘法、除法
    +, -, || 加法、减法、串联
    比较
    NOT 逻辑否定
    AND 逻辑与
    OR 逻辑或