运算符类型
赋值运算符
赋值运算符使用:=
,如:
DECLARE
v_variable1 VARCHAR2 (200) := 'This is a '; --定义变量变赋初值
v_variable2 VARCHAR2 (100); --定义变量
v_result VARCHAR2 (500);
v_constant CONSTANT VARCHAR2 (10) := 'CONSTANT'; --定义常量赋常量值
BEGIN
v_variable2 := 'VARIABLE'; --使用操作数为变量赋值
v_result := v_variable1 || v_constant; --使用表达式为变量赋值
DBMS_OUTPUT.put_line (v_result); --输出变量结果值
END;
连接运算符
连接运算符使用||
,如:
DECLARE
x VARCHAR2 (8) := '你好,'; --定义字符串变量并赋初值
y VARCHAR2 (8) := '中国';
BEGIN
DBMS_OUTPUT.put_line (x || y); --输出字符串变量值
END;
连接运算符会忽略NULL值。
逻辑运算符
逻辑运算符有AND、OR和NOT。
比较运算符
比较运算符用于比较两个表达式,结果总是True、False或NULL,如果表达式中任意一个值为NULL,则整个比较结果也为NULL。
比较运算符 | 描述 |
---|---|
= | 等于 |
<>,!=,~=,^= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
IS [NOT] NULL | 是否为空 |
LIKE | 通配符比较 |
BETWEEN | 范围比较 |
IN | 判断值是否在某个指定的结果集中 |
运算符的优先级
优先级顺序 | 运算符 | 描述 |
---|---|---|
1 | ** | 乘方 |
2 | +,- | 一元操作符正、负 |
3 | *,/ | 乘、除 |
4 | `+,-, | |
5 | =,<,>,<=,>=,<>,!=,~=,^=,IS NULL,LIKE,BETWEEN,IN | 比较 |
6 | NOT | 逻辑否 |
7 | AND | 逻辑否 |
8 | OR | 逻辑或 |
不过在开发中,我们不需要记得这么多优先级,想要优先的运算用小括号()括起来就行了,避免混乱。
表达式类型
表达式按照计算的结果值的数据类型划分,分为4种:
- 数值型表达式,比如5+6
。
- 字符型表达式,如"This is a" || "ecpression"
。
- 日期型表达式,如SYSDATE - 10
。
- 布尔型表达式,如x > 0 AND y < 0
。