Oracle中的dual
简介,摘自百度百科:
Oracle提供的最小的表,不论进行何种操作(不要删除记录),它都只有一条记录——'X'。
例如:执行select * from dual,里面只有一条记录;执行insert into dual values('Y')后,再次查询dual表,仍然显示一条记录。
是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在。
例如:执行一个查看当前日期的语句
select sysdate from dual,这条语句在放在放在任何一个oracle数据库当中都不会报错,所以一般做一些特定查询的时候用这个表是最稳妥的。
select计算常量表达式、伪列等值
oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
查看当前用户
select user from dual;
select count(*) from dual;
用做计算器
select 7*9*10-10 from dual;
调用系统函数
获得当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
获得主机名
select sys_context('userenv','terminal') from dual;
获得当前locale
select sys_context('userenv','language') from dual;
获得一个随机数
select DBMS_RANDOM.random from dual;
查看序列值
创建序列aaa 以1开始,每次加1
create sequence aaa increment by 1 start with 1;
获得序列aaa 的下一个序列值
select aaa.nextval from dual;
获得序列aaa 的当前序列值
select aaa.currval from dual;
摘自百度知道:
1、dual 确实是一张表.是一张只有一个字段,一行记录的表.(Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用)。
2、习惯上,我们称之为'伪表'.因为他不存储主题数据.
3、他的存在,是为了操作上的方便.因为select 都是要有特定对象的.
如:
select * from mytable ;
select * from myview;
等等.
但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的信息,并要通过select 完成时,就要借助一个对象,这个对象,就是dual;
如我们要计算 999*999 的值,可以用:
select 999*999 from dual;
来实现;
要拼接一个电话信息:
select concat('010-','88888888')||'转23' 高乾竞电话 from dual;
就变成了我们想要的格式输出.
4.当然,我们不一定要dual ,也可以这样做.例如:
create table mydual( dummy varchar2(1));
也可以实现和dual 同样的效果:
select 999*999 from mydual;
不过,dual 我们都用习惯了,就无谓自己再搞一套了.
Oracle中的dual的更多相关文章
- oracle中的dual表详解
oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...
- oracle 中的dual表简介与用法
Dual表是每个数据库创建时默认生成的,该表仅有一列一行. 1)分析dual表执行,如下:
- oracle 中用法dual
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情. dual是一个虚拟表,用来构成select的语法规则,oracle保证d ...
- Oracle中的dual表简介
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情,如下: 1.查看当前用户,可以在 SQL Plus中执行下面语句 sql代 ...
- oracle中的dual表
dual表是和Oracle数据字典一起创建的.它实际上只包含dummy这一个column,并且只有一条记录,这条记录的值是X. X dual表的owner是SYS,但所有用户都可以访问它.Althou ...
- oracle 中 dual 详解
基本上oracle引入dual为的就是符合语法1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的.2. Oracle中的dual表是一 ...
- ORACLE中dual用法详解
基本上oracle引入dual为的就是符合语法1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的.2. Oracle中的dual表是一 ...
- 【转】Oracle中dual表的用途介绍
原文:Oracle中dual表的用途介绍 [导读]dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情. dual是一个虚拟表, ...
- oracle中查询当前系统时间用到的dual是什么?
oracle我们查询当前系统时间的时候,经常用到dual,这个是什么东西呢? -- 查询系统时间 结果:2018/04/17 15:00:48 -- select sysdate from dual; ...
随机推荐
- 20165218 2017-2018-2 《Java程序设计》课程总结
20165218 2017-2018-2 <Java程序设计>课程总结 一.每周作业链接汇总 20165218 我期望的师生关系 20165218 学习基础和C语言基础调查 2016521 ...
- 51nod求助
求助dalao们,51nod1170实在是不会了,有没有大佬讲一下,有兴趣的可以告诉我,我提供AC代码. using System; using System.Collections.Generic; ...
- C++类间转换之dynamic_cast
当在C++的基类与派生类之间转换时,其多态性充分显现出来: 本次只讨论 dynamic_cast 的用法. 在查阅资料后发现百度百科关于 dynamic_cast (以及static_cast ...
- 洛谷P1078 文化之旅
P1078 文化之旅 1.1K通过 3.6K提交 题目提供者洛谷OnlineJudge 标签NOIp普及组2012 难度普及+/提高 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨 ...
- [POI2014] KUR-Couriers (主席树)
[POI2014]KUR-Couriers 题目描述 Byteasar works for the BAJ company, which sells computer games. The BAJ c ...
- 13.UiAutomator 辅助APK的使用
一.在测试中弹出提示框 UiAutomator无法直接实现,,但是可以通过让辅助APK接受UiAutomator发送的指令信息来实现,使用am命令 实例: 1.新建辅助apk,用来接收Uiautoma ...
- 「Python」python日期与字符串互转
1str -> date import datetime detester = ‘2017-01-01' date = datetime.datetime.strptime(detester,’ ...
- [DeeplearningAI笔记]序列模型1.7-1.9RNN对新序列采样/GRU门控循环神经网络
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采 ...
- lable标签的妙用
最近在设计网页时,只要一加入表单或表单对象,文本框等等,就会在代码中加入一个<label></label>,一直没明白这个label是做什么的,今天正好看到了解释: Label ...
- 关于IE浏览器输入框字体不兼容问题
当写完 input的text输入框后 IE里输入框字体偏上 那么有个简单的解决办法 就是设置行高line-height:Xpx\9;就可以解决 \9表示所有IE