Oracle中的Dual表
阿新 • • 發佈:2018-05-12
char oracle 字段 rom 目標表 方便 目標 inf 信息
1、Dual是Oracle中的一個實際存在的表。是一張只有一個字段,一行記錄的表,任何用戶均可讀取,常用在沒有目標表的select語句塊中。
2、習慣上,我們稱之為“偽表”。因為他不存儲主體數據。
3、他的存在,是為了操作上的方便。因為select都是要有特定對象的。
如:select * from mytable; select * from myview; 等等。
但如果我們不需要從具體的表來取得表中數據,而是單純地為了得到一些我們想得到的信息,並要通過select完成時,就要借助一個對象,這個對象,就是dual;
如:
1)返回當前連接的用戶,可以用:select user from dual;來實現;
2)計算999*999的值,可以用:select 999*999 from dual;來實現;
3)拼接一個電話信息:select concat(‘010-‘,‘88888888‘)||‘轉23‘ 高乾競電話 from dual;
就變成了我們想要的格式輸出。
4、當然,我們不一定要dual,也可以這樣做。例如:
create table mydual(dummy varchar2(1));
也可以實現和dual同樣的效果:
select 999*999 from mydual;
不過,Dual我們都用習慣了,就無謂自己再搞一套了。
Oracle中的Dual表