1. 程式人生 > >關於Oracle中decode函式的用法

關於Oracle中decode函式的用法

        相信有過Oracle程式設計基礎的人都應該接觸過decode這一函式,沒有接觸過的也沒有關係,接下來我簡單的介紹下關於decode函式的用法,首先decode是Oracle的一個內建函式,典型的SQL語句如下:

select decode(a,1,'cc',2,'dd') from t;

寫過SQL的,上面的語法應該都能看懂,select是SQL的查詢語句,select語句中可以用到結構化的函式,上面語句當中"decode(a,1,'cc',2,'dd')" 這部分對於不清楚decode函式用法的人來說可能不太好懂,所以將結構化的decode函式轉換成過程化語句,就很容易懂了,轉換後的語句為:

if a=1 then
   'cc'
else if a=2 then
   'dd'
end if;

這樣就能很容易的知道decode函式用法,最後再來講解下最上面的那條SQL語句:decode(a,1,'cc',2,'dd') 可以理解成,如果a=1,那麼就輸出cc,否則如果a=2,那麼就輸出dd,而這裡的a是t表的一個欄位。

相關推薦

【轉載】oracledecode函式用法

1、DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else)。表示假設value 等於if1時,DECODE函式的結果返回then1,...,假設不等於不論什麼一個if值。則返回else 2、該函式的含義例如以下:  IF 條件=值1 TH

Oracle decode 函式用法 與lpad結合

 //decode 函式用法: decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,預設值) 該函式的含義如下: IF 條件=值1 THEN     RETURN(翻譯值1) ELSIF 條件=值2 THEN     RETURN(翻譯值2)   

Oracle null判斷並替換空值 ORACLEDECODE用法(例子) Oracle的NVL函式用法 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函式替換空值

  可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函式 1.NVL() 從兩個表示式返回一個非 null 值。語法NVL(eExpression1, eExpression2)引數eExpression1, eExpression2 如果 eExpressio

Oracledecode函式和sign函式用法

資料庫表結構如下: 流程控制函式 DECODE decode()函式簡介: 主要作用: 將查詢結果翻譯成其他值(即以其他形式表現出來,以下舉例說明); 使用方法: Select decode(columnname,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,預

關於Oracledecode函式用法

        相信有過Oracle程式設計基礎的人都應該接觸過decode這一函式,沒有接觸過的也沒有關係,接下來我簡單的介紹下關於decode函式的用法,首先decode是Oracle的一個內建函式,典型的SQL語句如下: select decode(a,1,'cc',

171207之Oracledecode函式、SIGN函式和INSTR函式

一:DECODE的語法: DECODE(value,if1,then1,if2,then2,if3,then3,…,else),表示如果value 等於if1時,DECODE函式的結果返回then1,…,如果不等於任何一個if值,則返回else。 dec

Oracledecode函式對case when的簡化

現假設我們有一個使用者表t_user,其中擁有一個表示性別的欄位gender,該欄位對應的值可能為0、1或者空,其中0表示“男”,1表示“女”,空表示“未填”。現需要我們在查詢t_user的gender時不是顯示對應的0和1,而是顯示對應的文字,“男”或“女”。

oracle 日期函式用法

  這裡需求是把原來的字元型的日期  01.02.2013   改成 20130201     先把字元轉換成日期的  再按日期轉字元處理  update 表名 a set a.calday = to_char( to_date(a.calday, 'dd.MM.yyyy

OracleDecode()函式使用詳細

decode()函式是ORACLE PL/SQL是功能強大的函式之一,目前還只有ORACLE公司的SQL提供了此函式,其他資料庫廠商的SQL實現還沒有此功能。       DECODE函式是ORACLE PL/SQL是功能強大的函式之一,目前還只有ORACLE公司的SQ

oracledecode()和nvl()函式用法

decode(待比較的物件,如果為這個,那麼結果為這個,否則結果是這個) nvl (test,1)  判斷是否為空,如果為空就取1 select * from  表名 where 1=1 and  instr(a,b)

Oracle decode 函數用法

個數 依次 elsif 根據 sql nbsp htm 開發 ret 含義解釋: decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 該函數的含義如下:IF 條件=值1 THEN    RETURN(翻譯值1)ELSIF 條件=值2 THEN

Oracleadd_months()函式用法

查詢當前時間1個月以前的時間: select add_months(sysdate,-1) from dual; 查詢當前時間1個月以後的時間:   select add_months(sysdate,1) from dual;   如對公司員工表:查詢2年前進入公司的員工的姓

pythondecode()函式函式用法

python字串函式用法大全連結 decode()函式 描述:以 encoding 指定的編碼格式解碼字串,預設編碼為字串編碼。 encoding ——要使用的編碼,如:utf-8,gb2312,cp936,gbk等。 errors ——設定不同解碼

ORACLE部分函式用法

select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,…,else)

分組函式group by和Oracle分析函式partition by的用法以及區別

       今天有個同事給我打電話問我題目列出的這個問題,在日常開發中,確實它們倆都是與分組有關的,但是需要注意的是一個是分組函式另一個是分析函式,講解用到的表就以Oracle中schema的scott的EMP表和DEPT表為例做講解:        老總下命令說:需要統

oracle函式介紹(一):nvl函式decode函式、case when函式、sum函式

最近做專案接觸到的oracle資料庫比較多,經常用到裡面的一些函式,以前的部落格中也介紹過行轉列和列轉行,這次再簡單給大家介紹幾個: nvl() NVL(a,b)就是判斷a是否是NULL,如果不

Oraclecoalesce函式用法

學習了幾天教主的書,今天看到coalesce函式,功能很強大啊!coalesce函式的引數是列,結果是取出第一個不為空的列的資料。 首先,建一個檢視: CREATEORREPLACEVIEW v ASSELECTNULLAS c1,NULLAS c2,1 AS 

oracleINSTR函式用法

今天有個同學問我這個INSTR函式,我也不太清楚就上網查了查做一個小小的記錄吧 INSTR(C1,C2,I,J) 在一個字串中搜索指定的字元,返回發現指定的字元的位置; C1 被搜尋的字串 C2 希望搜尋的字串 I 搜尋的開始位置,預設為1 J 出現的位置,預設為1 S

OracleTO_NUMBER()函式用法

1 用法簡介 TO_NUMBER函式()是Oracle中常用的型別轉換函式之一,主要是將字串轉換為數值型的格式,與TO_CHAR()函式的作用正好相反。 To_number函式的格式如下: To_number(varchar2 or char,’forma

sql優化總結 / sqldecode(...)函式用法

相當於if語句 decode函式比較1個引數時 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一個引數inParam=='beComparedParam',則select得到的name顯示為值1, #如果第