天天看點

Oracle常用函數總結

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