一般用 select sysdate from dual 来取得Oracle中时间
dual是啥表?为啥要这么取?

解决方案 »

  1.   

    dual是oracle的一个虚表,你同样可以对数据库别的表操作这个命令,只是返回的条数是那个表的条数
      

  2.   

    dual为oracle中的虚拟表个人理解:这是为了提供常量表达式的计算,这些表达式计算不依赖于任何用户的其它表。但是为了作到SQL实现过程的一致以及满足SQL标准规范,因此设计者提供了这样一张虚拟表。
      

  3.   

    Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中
      

  4.   

    右键 Dual 你就发现它的字段是如下的
    DUMMY VARCHAR2(1) Y
      

  5.   

    DUAL:Diffusing Update Algorithm ,弥散更新算法.EIGRP组件之一。dual是Oracle与数据字典一起自动创建的一个虚拟表﹐它只有一列﹕DUMMY﹐其数据类型为﹕VARCHAR2(1)。dual中只有一行数据﹕ 'X '。dual属于sys模式﹐但所有用户都可以使用dual名称访问它﹐用SELECT计算常量表达式﹑伪列等值时常用该表﹐因为它只返回一行数据﹐而使用其它表时可能返回多个数据行。用来查那些不属于实际表里的内容,有时也用来检查某表某条件的记录存在性 
      

  6.   

    Oracle语法要求必须有select 和from子句,dual是Oracle中的一个虚表可以满足Oracle数据库的语法需求