我也是新手
我的理解是,那些并不是字段,你看到的多是函数。
但是SQL里操作一般都要有个对象表名,可是好多操作并不是对表操作,
于是就定义一个只有一个字段的表,应该叫虚表吧,
让那些没有操作对象的语句指向他。
例如select sysdate from dual
查出系统时间,

解决方案 »

  1.   

    这样作应该是为了不破坏SQL的标准语法规范。
    因为用select取信息时,按照语法,必须有个from,
    from后面必须有个对象的。
      

  2.   

    DUAL是为了给那些没有特定表对象的SQL语句提供的一个对象,它是实实在在存在的一个表。
      

  3.   

    DUAL是为了给那些没有特定表对象的SQL语句提供的一个对象,在获取系统时间或测试函数的时候非常有用,比如要获取当前日期的“YY-MM-DD”形式,可以这么写
    select to_char(sysdate,"yy-mm-dd") from dual;