Oracle常用函式總結

路途中的人2012發表於2016-10-21
1、decode:
含義解釋:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,預設值)
該函式的含義如下:
IF 條件=值1 THEN
    RETURN(翻譯值1)
ELSIF 條件=值2 THEN
    RETURN(翻譯值2)
    ......
ELSIF 條件=值n THEN
    RETURN(翻譯值n)
ELSE
    RETURN(預設值)
END IF
decode(欄位或欄位的運算,值1,值2,值3)
       這個函式執行的結果是,當欄位或欄位的運算的值等於值1時,該函式返回值2,否則返回值3
當然值1,值2,值3也可以是表示式,這個函式使得某些sql語句簡單了許多


2、trunc:
1)、日期比較時精確到日,可以使用 TRUNC(sysdate,'dd')函式。
2)、trunc(d1[,c1])  返回日期d1所在期間(引數c1)的第一天日期
3)、round(10.2356,2)函式可以對數字按指定保留小數位數四捨五入,這個函式還可以對日期四捨五入
4)、TRUNC還可以對number型別使用


3、nvl:
NVL (expr1, expr2)->expr1為NULL,返回expr2;不為NULL,返回expr1。注意兩者的型別要一致


4、nvl2:
NVL2 (expr1, expr2, expr3) ->expr1不為NULL,返回expr2;為NULL,返回expr3。expr2和expr3型別不同的話,expr3會轉換為expr2的型別


5、nullif:
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1 
COALESCE函式語法為COALESCE(表示式1,表示式2,...,表示式n),n>=2,此表示式的功能為返回第一個不為空的表示式,如果都為空則返回空值。
注意:所有表示式必須為同一型別或者能轉換成同一型別。

6、substr:
substr( string, start_position, [ length ] )
字串是源字串。
start_position是提取的位置。字串中的第一個位置始終為1。
length  可選的。它是提取的字元數。如果省略該引數,SUBSTR將返回整個字串。

7、COALESCE
COALESCE函式用於返回列表中的第一個非空表示式。
語法
COALESCE (expr1, expr2, ... exprn)
在該語法中:
 expr1 返回此表示式(如果它不為空)
 expr2 返回此表示式(如果第一個表示式為空,而此表示式不為空)
 exprn 返回此表示式(如果前面的表示式都為空)
!所有表示式都必須具有相同的資料型別。

8、instr
返回要擷取的字串在源字串中的位置。
語法如下: 
  instr( string1, string2, start_position,nth_appearance ) [1]  [2] 
string1
源字串,要在此字串中查詢。
string2
要在string1中查詢的字串 。
start_position
代表string1 的哪個位置開始查詢。此引數可選,如果省略預設為1. 字串索引從1開始。如果此引數為正,從左到右開始檢索,如果此引數為負,從右到左檢索,返回要查詢的字串在源字串中的開始索引。
nth_appearance
代表要查詢第幾次出現的string2. 此引數可選,如果省略,預設為 1.如果為負數系統會報錯。

9、round
ROUND( number, [ decimal_places ] )
引數:
number : 欲處理之數值
decimal_places : 四捨五入 , 小數取幾位 ( 預設為 0 )





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2126899/,如需轉載,請註明出處,否則將追究法律責任。

相關文章