oracle—运算符
2016-06-13 本文已影响759人
慕凌峰
一、PL/SQL表达式与运算符
- 算数运算符
运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
** | 乘方 |
- 逻辑运算符
运算符 | 含义 |
---|---|
AND | 两者同时为真,结果才为真 |
OR | 有一个为真,结果就为真 |
NOT | 取反 |
- 比较运算符
运算符 | 含义 |
---|---|
IS NULL | 如果测试值为NULL,则返回值为true,否则为false |
LIKE | 比较字符串,结合 % 进行模糊查询 |
BETWEEN | 测试值是否在指定的范围内 |
IN | 测试值是否在一系列的值中 |
- 关系运算符
运算符 | 含义 |
---|---|
= | 等于 |
!= <> ~= | 不等于 |
< 、 <= | 小于 小于等于 |
> 、 >= | 大于 大于等于 |
- 连接运算符
运算符 | 含义 |
---|---|
11 | 用于连接两个字符串 |
二、控制结构
-
顺序结构
-
条件结构
- if
if 条件1 then 执行语句1; 执行语句2; end if;
- if else
if 条件1 then 执行语句1; 执行语句2; else if =条件2 then 执行语句3; else 执行语句4; end if;
-
CASE 结构
当分支比较多时,使用case分支比较方便
```sql
case [表达式]
when 条件1 then 结果1;
when 条件2 then 结果2;
...
else 结果;
end;
```
-
循环结构
- loop
如果不控制,oracle会一直执行loop之间的语句,陷入死循环
loop 执行循环语句; end loop;
- for
for counter in 1..10 loop --测试一下,输出counter dbms_output.put_line(counter); end loop; ``` * when ```sql when i <= 10 loop dbms_output.put_line(i); i := i + 1; end loop;
-
exit 循环退出
- 无条件退出
执行到exit就直接退出循环,继续执行
loop 执行语句; exit; end loop;
- 有条件退出
判断条件是否为true,当条件为true时,退出循环,继续执行。为false时,将继续执行循环语句
loop 执行语句; exit when 条件1; end loop;
-
continue 继续循环
- 无条件继续
当碰到continue时,无条件的终止本次循环,开始下一次的循环
loop 执行语句1; continue; 执行语句2; end loop;
- 有条件继续
当碰到continue时,判断条件是否为true,如果为true时,将终止本次循环,开始下一次的循环,如果为false,将继续本次循环
loop 执行语句1; continue when 条件; 执行语句2; end loop;
-
goto语句
declare m varchar2(20); begin m := 'AndyThink'; <<lable1\>\> dbms_output.put_line(m); goto lable1; end;