DUAL?有什么神秘的?当你想得到ORACLE系统时间,简简单单敲一行SQL不就得了吗?故弄玄虚… SQL> select sysdate from dual;
确实DUAL的使用很方便。但是大家知道DUAL倒底是什么OBJECT,它有什么特殊的行为吗?我们一起看一看。首先搞清楚DUAL是什么OBJECT: select owner, object_name , object_type from dba_objects where object_name like "%DUAL%"; 原来DUAL是属于SYS schema的一个表,然后以PUBLIC SYNONYM的方式供其他数据库USER使用。
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;--获得一个随机数 select replace(substr(to_char(sysdate,"yyyy-mm-dd hh24:mi:ss"),0,10),"-","/") 系统当前时间 from dual ; 3、可以用做计算器 select 7*9*10-10 from dual; 4、查看系统时间 select sysdate from dual; 希望可以给大家有帮助 ,哪里不对 希望大家多多交流。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址