PL / SQL运算符


连接运算符

串联运算符||将一个字符串操作数附加到另一个。

每个字符串可以是CHAR,VARCHAR2,CLOB。

如果任一个字符串是CLOB,则结果是临时CLOB; 否则,它是一个VARCHAR2值。

下面的代码连接运算符。

DECLARE   x VARCHAR2(4) := 'Hi';   y VARCHAR2(10) := ' Hey'; BEGIN   DBMS_OUTPUT.PUT_LINE (x || y); END; / 

 

逻辑运算符

下表是PL / SQL逻辑运算符的逻辑真值表。

小心NULL值。

xyx AND yx OR yNOT x
TRUETRUETRUETRUEFALSE
TRUEFALSEFALSETRUEFALSE
TRUENULLNULLTRUEFALSE
FALSETRUEFALSETRUETRUE
FALSEFALSEFALSEFALSETRUE
FALSENULLFALSENULLTRUE
NULLTRUENULLTRUENULL
NULLFALSEFALSENULLNULL
NULLNULLNULLNULLNULL

 

关系运算符 

操作员含义
=等于
<>,!=,〜=,^ =不等于
<少于
>比...更棒
<=小于或等于
> =大于或等于

 

BETWEEN运算符

BETWEEN运算符测试值是否在指定范围内。

a和b之间的意思是x> = a和x <= b。

 

IN运算符

IN运算符测试集成员资格。

x IN set 意味着x等于集合的任何成员。

 

运算符优先级

表达式中的操作按优先级顺序进行计算。

具有相等优先级的运算符不以特定顺序应用。

我们可以使用括号来控制评估的顺序。

下表显示了从最高到最低的运算符优先级。

OperatorOperation
**exponentiation
+, -identity, negation
*, /multiplication, division
+, -, ||addition, subtraction, concatenation
=, <, >, <=, >=, <>, !=, ~=, ^=, IS NULL, LIKE, BETWEEN, INcomparison
NOTlogical negation
ANDconjunction
ORinclusion
DECLARE   salary      NUMBER := 60000;   commission  NUMBER := 0.10; BEGIN    DBMS_OUTPUT.PUT_LINE(5 + 12 / 4);   DBMS_OUTPUT.PUT_LINE(12 / 4 + 5);    DBMS_OUTPUT.PUT_LINE((8 + 6) / 2);  END; /