# 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;
```

