study/oracle/dual表的用途.md

33 lines
917 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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