我听到有人提到过这张桌子,但不确定它是关于什么的。
当前回答
它是一种虚拟表,只有一条记录,用于在你实际上对数据不感兴趣时进行选择,而是希望在选择语句中获得一些系统函数的结果:
例如:select sysdate from dual;
参见http://www.adp-gmbh.ch/ora/misc/dual.html
从23c开始,Oracle支持选择sysdate /*或其他值*/,而不是from dual,因为MySQL已经支持了一段时间。
其他回答
它是一个放入from返回1空行的对象。例如: Select 1 from dual; 返回1
从dual中选择21+44; 返回65
选择(序列)。Nextval from dual; 返回序列中的下一个值。
它是一种虚拟表,只有一条记录,用于在你实际上对数据不感兴趣时进行选择,而是希望在选择语句中获得一些系统函数的结果:
例如:select sysdate from dual;
参见http://www.adp-gmbh.ch/ora/misc/dual.html
从23c开始,Oracle支持选择sysdate /*或其他值*/,而不是from dual,因为MySQL已经支持了一段时间。
DUAL是一种特殊的单行一列表,默认存在于所有Oracle数据库中。DUAL的所有者是SYS。
DUAL是Oracle数据库与数据函数一起自动创建的表。它总是用于获取操作系统函数(如日期、时间、算术表达式)。等)。
SELECT SYSDATE from dual;
DUAL表是一个特殊的单行表,默认存在于所有Oracle数据库安装中。它适合用于选择伪列,如SYSDATE或USER
该表有一个名为DUMMY的VARCHAR2(1)列,其值为“X”
你可以在http://en.wikipedia.org/wiki/DUAL_table上阅读所有相关信息
关于DUAL的更多事实....
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
这里做的令人激动的实验,还有汤姆更令人激动的解释
推荐文章
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?
- 如何在Oracle SQL开发人员中找到引用给定表的表?
- 如何在Oracle SQL开发人员中设置自定义日期时间格式?
- 为什么Oracle 9i将空字符串视为NULL?
- NVL和Coalesce之间的Oracle差异
- 不可重复读和幻影读的区别是什么?
- ORA-00054:资源繁忙,指定NOWAIT或超时获取
- Oracle中的双表是什么?
- Oracle中不区分大小写的搜索
- 如何在Oracle SQL开发者中导出查询结果到csv ?
- Oracle SQL Developer多表视图
- 如何在Oracle中做top 1 ?
- Oracle Partition By关键字
- 如何使用服务名而不是SID连接到Oracle