33 lines
917 B
Markdown
33 lines
917 B
Markdown
|
# dual表的使用
|
|||
|
|
|||
|
### 简介
|
|||
|
dual 是一张虚拟表用来构成select语句的语法规则,oracle保证dual里面只有一条记录。
|
|||
|
|
|||
|
## dual用途
|
|||
|
|
|||
|
* 查看当前用户
|
|||
|
```sql
|
|||
|
select user from dual;
|
|||
|
```
|
|||
|
* 用来调用系统函数
|
|||
|
```sql
|
|||
|
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; -- 获取当前时间
|
|||
|
select SYS_CONTEXT('USERENV','TERMINAL') FROM DUAL; -- 获取当前登陆的用户
|
|||
|
select SYS_CONTEXT('USERENV','language') from dual; -- 获取当前的loacle
|
|||
|
select dbms_random.random from dual; -- 获取随机数
|
|||
|
```
|
|||
|
* 得到当前序列的值或者下一个值
|
|||
|
```sql
|
|||
|
select your_sequence.nextval from dual;--获得序列your_sequence的下一个值
|
|||
|
select your_sequence.currval from dual;--获得序列your_sequence的当前值
|
|||
|
```
|
|||
|
* 得到1到(n - 1)的数
|
|||
|
```sql
|
|||
|
select level r from dual connect by level < 10; -- 输出1-9的数
|
|||
|
```
|
|||
|
* 计算器
|
|||
|
```sql
|
|||
|
select 7*9 from dual;
|
|||
|
```
|
|||
|
|