dual表是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。常用在沒有目標表的select語句塊中。
活用dual表的一些常見用法,可以使你的sql更容易形成預期的結構:
連線兩個字串
結果:使用nvl函式
結果:這些用nvl判斷過後的值可以直接用來給別的insert或者update操作;
例如:insert into table1 ( a1, a2, a3, a4 )
(select nvl(『b1』,『test1』), nvl(『b2』, 『test2』), nvl(『b3』, 『test3』), nvl(『b4』, 『test4』) from dual);
如果不了解nvl函式的用法,本文後面會有介紹。
檢視當前使用者select user from dual;
這裡的user是當前資料庫的管理者。
查詢當前日期時間結果:用來作簡單的查詢日期的操作;
進行計算操作
select 5*6 from dual;
select 9-3 from dual;
sql中想要一些計算過後的值作為條件,就可以使用這種寫法。
結論:從上面不難看出,dual表僅僅是一張虛擬表,用來構成select的語法規則,讓sql能夠正常執行。mysql中也存在dual表,不過與oracle略有不同,這裡不作詳細介紹了,有興趣的童鞋自己檢視一下資料吧。簡單說一下nvl的用法:1. nvl(』』,'test1 』 )
nvl函式包含兩個引數,如果第乙個引數不為空或者null,則取第乙個引數為值,否則取第二個引數為值;
2.nvl2(a1, a2, a3)
nvl2函式包含3個引數,如果第乙個引數為空,則取第二個引數為值;如果第乙個引數不為空,則取第三個引數為值;
3.nullif(a1, a2)
nullif函式包含2個引數,如果兩個引數相等,則值為空(null);如果兩個引數不相等,則取第乙個引數為值。 Oracle中dual表的用途
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...
oracle中dual表的用法
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...
oracle中奇妙的dual表
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...