Oracle中的dual表

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; --获得一个随机数
  1. 得到序列的下一个值或当前值,用下面语句
select your_sequence.nextval from dual; --获得序列your_sequence的下一个值
select your_sequence.currval from dual; --获得序列your_sequence的当前值
  1. 可以用做计算器 select 7*9 from dual;

参考文献

Oracle中dual表的用途介绍