oracle中查询当前系统时间用到的dual是什么?

oracle我们查询当前系统时间的时候,经常用到dual,这个是什么东西呢?

-- 查询系统时间    结果:2018/04/17 15:00:48 --
select sysdate from dual;
-- 字符串转日期格式 结果: 2018/04/16 --
select to_date('2018-04-16','yyyy-MM-dd HH24:mi:ss') from dual;
-- 日期转字符串格式 结果:2018-04-17 15:01:11--
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
-- 数字格式化 结果:123,456,789 --
select to_char(123456789,'999,999,999,999') from dual;
-- 数字添加$符号 结果:$123.0--
select to_char(123,'$99,999.9') from dual;

dual是Oracle中的一个伪表,利用这个伪表可以设置或查看序列,或者是调用一些内置的函数,方便操作。

简单来说,dual表就是oracle与数据字典自动创建的一张表,这张表是一个单行单列的表,这个表只有1列:DUMMY,

数据类型为VERCHAR2(1),dual表中只有一个数据'X', Oracle有内部逻辑保证dual表中永远只有一条数据。

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

如:

1) 获取当前系统时间

select sysdate from dual;

2)计算器使用

select 2*5 result from dual;

参考地址:

https://zhidao.baidu.com/question/170487574.html

上一篇:MySQL 查询出的时间相差几个小时


下一篇:解读Unity中的CG编写Shader系列1——初识CG