oracle-dual

Oracle的SELECT语法的限制为:

SELECT * | 列名 FROM table

所以,没有 表名 就 无法查询,dual为的就是 符合语法

  1. dual不是缩写词,本身就是完整的单词。dual名词意思是对数,做形容词时是指二重的,二元的。

  2. Oracle中的dual表是一个单行单列的 虚拟表。

  3. Dual表是oracle与数据字典一起自动创建的一个表,这个表只有1列:DUMMY,数据类型为VERCHAR2(1),dual表中只有一个数据’X’, Oracle有内部逻辑保证dual表中永远只有一条数据。

  4. Dual表主要用来选择 系统变量 或求一个 表达式的值。

例子

  1. 查询系统时间,时间日期并不存放在任何表中,为了让select语句能够正确执行,必须得有表,所以就用daul

    SELECT sysdate FROM daul
    
  2. 当作计算器用

    select 1+2 from dual;
    

    感谢:
    https://blog.csdn.net/ozhouhui/article/details/7935196


原文出处:/show_1EF34q9xM3FZ.html