Dual简单的说就是一个空表,Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。常用来通过select语句计算常数表达式。
特性:
1、Oracle提供的最小的表,不论进行何种 *** 作(不要删除记录),它都只有一条记录——'X'。
例如:执行select * from dual,里面只有一条记录;执行insert into dual values('Y')后,再次查询dual表,仍然显示一条记录。
2、是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在
例如:执行一个查看当前日期的语句 select sysdate from dual,这条语句在放在放在任何一个oracle数据库当中都不会报错,所以一般做一些特定查询的时候用这个表是最稳妥的。
扩展资料:
用途
1、select计算常量表达式、伪列等值
oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
2、查看当前用户
select user from dual
select count(*) from dual
3、用做计算器
select 7*9*10-10 from dual;
4、调用系统函数
(1)获得当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
(2)获得主机名
select sys_context('userenv','terminal') from dual
(3)获得当前locale
select sys_context('userenv','language') from dual
(4)获得一个随机数
select DBMS_RANDOM.random from dual
5、查看序列值
(1)创建序列aaa 以1开始,每次加1
create sequence aaa increment by 1 start with 1
(2)获得序列aaa 的下一个序列值
select aaa.nextval from dual
(3)获得序列aaa 的当前序列值
select aaa.currval from dual
参考资料:百度百科 dual
Dual是一个虚拟表,这意味着它返回一个值,在本例中是1。
1.Oracle提供的最小的表只有一条记录——“X”——无论您做什么(不要删除记录)。
例如,select*fromdual,它只有一条记录;在对双值('Y')执行insert之后,再次查询双表并仍然显示一条记录。
2.它是sysuser下的一个内部表。所有用户都可以使用双名称访问它
例如,从dual中选择sysdate,这是一条查看当前日期的语句。此语句不能放在任何oracle数据库中,因此对于特定查询使用此表通常是安全的。
扩展资料:
Dual就是一个空表。它是Oracle提供的最小的工作表。它只有一行和一列。它通常用于通过select语句计算常量表达式。
在Oracle数据库中有一个特殊的双表。Dualtable是Oracle中数百个真正的度表之一。它可以被任何用户阅读。它通常用于没有目标表的Select。Dual表是由Oracle和数据字典一起创建的,所有用户都可以使用名称Dual访问它。
这个表只有一列假,被定义为类型VARCHAR2(1),用一种特殊的行值x从双重选择数据表通常是用来评估常数表达式通过一个通用的SELECT语句,因为双只有一行数据,常数只返回一次。
虚拟表可以查出一些数据比如
可以算出当前时间
select sysdate from dual
可以当简单的计算器使用
select 1+100 from dual
可以取出字符串,数字等
select 'aaa',1 from dual
你那个就是取出数字1,放到变量v_tem中,在以后的时候会调用这个变量
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)