decode函數

decode函數

ORACLE公司軟件提供的函數計算方式
decode函數,是ORACLE公司的SQL軟件ORACLE PL/SQL所提供的特有函數計算方式,以其簡潔的運算方式,可控的數據模型和靈活的格式轉換而聞名。[1]
    中文名:decode函數 外文名: 适用領域: 所屬學科: 類型:特有函數計算方式 來源:SQL軟件ORACLE PL/SQL 特點:簡潔的運算方式

簡介

DECODE函數是ORACLE PL/SQL的功能強大的函數之一,目前還隻有ORACLE公司的SQL提供了此函數,其它數據庫廠商的SQL實現還沒有此功能。DECODE有什麼用途呢?先構造一個例子,假設我們想給智星職員加工資,其标準是:工資在8000元以下的加20%;工資在8000元或以上的加15%,通常的做法是,先選出記錄中的工資字段值--->select salary into var-salary from employee,然後對變量var-salary用if-then-else或case when then else end之類的流控制語句進行判斷。

如果用DECODE函數,那麼我們就可以把這些流控制語句省略,通過SQL語句就可以直接完成。

如下:select decode(sign(salary-8000),1,salary*1.15,-1,salary*1.2,salary*1.15)from employee是不是很簡潔?DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1時,DECODE函數的結果返回then1,...,如果不等于任何一個if值,則返回else。

DECODE隻能做等于測試,但剛才也看到了,通過一些函數或計算替代value,是可以使DECODE函數具備大于、小于或等于功能。

關于DECODE

DECODE是Oracle産品裡的一個功能很強的函數。它雖然不是SQL的标準,但對于性能非常有用。他不是标準的SQL,它的功能與像微軟的SQLserver數據庫的SQL裡的case when語法相似。作為開發人員鄙視這些公司各行其是,不斷造成不同數據庫之間的差異。給軟件研發帶來阻礙。

上一篇:平假名

下一篇:寡頭政治

相關詞條

相關搜索

其它詞條