dual在oracle中是什麼

2021-12-30 12:11:50 字數 1344 閱讀 4579

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 等等.但如果我們不需要從具體的表...