dual在oracle中是什麼
問題:dual是什麼?
回答: www.2cto.com
dual是乙個系統表,不能刪除或者修改其表結構。它的名稱叫做「偽表」或者「啞表」。
檢視其表結構:
sql> desc dual
名稱 是否為空? 型別
----------- -------- -----------
dummy varchar2(1)
其欄位只有乙個「dummy」,中文叫做「啞巴」。長度只有1。這個表結構只供參考。
問題:dual的作用是什麼,如何使用?
在oracle中,使用dual的主要原因是為了計算表示式的值。如計算:99*99。
對dual表的操作只能是查詢,其它如增刪改或者修改表結構,都沒有實際應用價值,不用研究。何況有可能會導致oracle不使用。
如: www.2cto.com
select 99*99 from dual;
返回: 9801
也可以一次性計算多個表示式的值:
執行:select 9*9,1+1,1/null from dual;
返回:9*9 1+1 1/null
--- ---------- ----------
81 2
注意,「1/null」的結果為null。因為在資料庫中,任何值與null進行運算,其結果為null。
還有乙個最常見的用途就是查詢當前系統日期,對應函式是:sysdate,即「system date」。
**:select sysdate from dual;
返回:sysdate
----------
22-11月-10
為了更容易看懂,可以用to_char函式指定顯式的格式。
select to_char(sysdate,'yyyy.mm.dd') as 當前日期 from dual;
返回:當前日期
----------
2010.11.22
執行:select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') as 當前時間 from dual;
返回:當前時間
-------------------
2010.11.22 11:28:44
另外,在學習序列以後,就可以知道,查詢序列的下乙個值和當前值,通常也會用到dual表。
小結:·dual表主要用於計算表示式。
·表結構只供引數,實際返回的列數與表示式的個數有關
·dual表只有可能返回一行,不可能返回多行。因為dual表並不是從表中取資料。
Oracle的dual是什麼
1.dual 確實是一張表.是一張只有乙個字段,一行記錄的表.2.習慣上,我們稱之為 偽表 因為他不儲存主題資料.3.他的存在,是為了操作上的方便.因為select 都是要有特定物件的.如 select from mytable select from myview 等等.但如果我們不需要從具體的表...
Oracle裡DUAL表是什麼表?
專案裡經常見到類似下面的語句 select seq project.nextval from dual 用於獲取序列值。而自己並沒有建立dual這個表,這個表是誰建立的呢,主要是用來做什麼的呢?下面是我找到的部分解釋 dual是oracle與資料字典一起自動建立的乙個表,它只有一列 dummy,其資...
Oracle的dual是什麼東西啊
1.dual 確實是一張表.是一張只有乙個字段,一行記錄的表.2.習慣上,我們稱之為 偽表 因為他不儲存主題資料.3.他的存在,是為了操作上的方便.因為select 都是要有特定物件的.如 select from mytable select from myview 等等.但如果我們不需要從具體的表...