Oracle 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; 
/ 
知识兔
计算机