dual 是一个虚拟表,用来构成 select 的语法规则, oracle 保证 dual 里面永远只有一条记录。我们可以用它来做很多事情,如下:
1 、查看当前用户,可以在 SQL Plus 中执行下面语句
select user from dual;
2 、用来调用系统函数
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;-- 获得当前 locale
select dbms_random.random from dual;-- 获得一个随机数
3 、得到序列的下一个值或当前值,用下面语句
select your_sequence.nextval from dual;-- 获得序列 your_sequence 的下一个值
select your_sequence.currval from dual;-- 获得序列 your_sequence 的当前值
4 、可以用做计算器
select 7*9 from dual;