一、Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中,如:
1、查看系统当前时间 select sysdate from dual;
2、当计算器使用 select 3+3 from dual;
3、查看系统当前用户 select user from dual;
4、将系统当前时间转换为一定的格式:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
5、查看序列下一个值:select aaa.nextval from dual;
二、DUAL是属于SYS schema的一个表,然后以PUBLIC SYNONYM的方式供其他数据库USER使用.只有一个字段DUMMY,为VARCHAR2(1)型。
DUAL表是建立在SYSTEM表空间的,第一是因为DUAL表是SYS这个用户建的,本来默认的表空间就是SYSTEM;第二,把这个可能经常被查询的表和用户表分开来存放,对于系统性能的是有好处的。
1、查看系统当前时间 select sysdate from dual;
2、当计算器使用 select 3+3 from dual;
3、查看系统当前用户 select user from dual;
4、将系统当前时间转换为一定的格式:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
5、查看序列下一个值:select aaa.nextval from dual;
二、DUAL是属于SYS schema的一个表,然后以PUBLIC SYNONYM的方式供其他数据库USER使用.只有一个字段DUMMY,为VARCHAR2(1)型。
DUAL表是建立在SYSTEM表空间的,第一是因为DUAL表是SYS这个用户建的,本来默认的表空间就是SYSTEM;第二,把这个可能经常被查询的表和用户表分开来存放,对于系统性能的是有好处的。