天天看点

Oracle-05:伪表dual

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

Oracle-05:伪表dual

此乃这张表里的全部字段信息,此表无法做修改操作

为什么有伪表这个概念??????????

因为sql92的一个标准,select 后面要加上from 表名

像一个比较简单的语句,在Mysql和Oracle中有不一样的结果

select 9*9

在Mysql中可以正常计算,而Oracle则不行

具体的原因是Oracle是符合sql92的标准,而Mysql不是,所以,Oracle要想实现select 9*9的运算,拿出了伪表dual

select 9*9 from dual

dual表就是oracle与数据字典自动创建的一张表,这张表是一个单行单列的表,这个表只有1列:DUMMY,数据类型为VERCHAR2(1),dual表中只有一个数据'X', Oracle有内部逻辑保证dual表中永远只有一条数据。dual表主要是用来选择系统变量或是求一个表达式的值

用伪表的方式查询系统时间

select sysdate from dual;

用自定义的格式展示当前时间:

select to_char(sysdate,'yyyy-MM-ss HH:mm:ss') from dual;