Oracle中的常用數值函式

2021-08-02 05:36:22 字數 2681 閱讀 3065

功能:數字的四則運算

示例:select 3+2,3-2,3*2,3/2 from dual;

結果:5 1 6 1.5

功能:最好不要讓null參與運算

示例:select 3+null,3-null,3*null,3/null from dual;

結果:null null null null

功能:如果value是null,則用substitute的值代替,否則就是value

示例:select nvl(null,123),nvl(0,123) from dual;

結果:123 0

注意:nvl的使用不限於數值,他們同樣可以適用於其他資料型別,但是要保證value引數和substitute引數型別是相同的。

功能:如果引數表示式expr1值為null

則nvl2()函式返回引數表示式expr3的值

如果引數表示式expr1值不為null

則nvl2()函式返回引數表示式expr2的值

示例:select nvl2(1,3,4) from dual;

結果:3

例項:select nvl2(null,3,4) from dual;

結果:4

注意:nvl2(表示式,不為空設值,為空設值)

功能:取絕對值

示例:簡單到不行,就算了

功能:ceil用於產生大於或等於當前值的最小整數

示例:select ceil(1),

ceil(1.2),

ceil(1.5),

ceil(1.6),

ceil(-2),

ceil(-2.4),

ceil(-2.5),

ceil(-2.6)

from dual;

結果:1 2 2 2 -2 -2 -2 -2

功能:返回小於或等於指定值的最大整數

示例:

select

floor(1),

floor(1.2),

floor(1.5),

floor(1.6),

floor(-2),

floor(-2.4),

floor(-2.5),

floor(-2.6)

from dual;

結果:1 1 1 1 -2 -3 -3 -3

功能:求餘

示例:

select

mod(50, 10),

mod(15, 4),

mod(12.3, 5),

mod(5.5, 2.9),

mod(-7, 5),

mod(0, 5),

mod(5, 0),

mod(7, -5)

from dual;

結果:0 3 2.3 2.6 -2 0 5 2

功能:求乙個值的指數乘方

示例:easy !

功能:求平方根

示例:select sqrt(121) from dual;

等價於:select power(121,0.5) from dual;

結果:11

注意:oracle不支援虛數,所以這個value不能為負數,否則會返回錯誤。

功能:round則根據給定的精讀捨入數值。

示例:select round(11,2),round(11.111,2),round(11.888,2),round(11,-1) from dual;

結果: 11 11.11 11.89 10

注意: precision引數可以為負數,表示精度移到小數點左邊

功能:trunc按精讀擷取某個實數

示例:select trunc(11,2),trunc(11.111,2),trunc(11.888,2),trunc(11,-1) from dual;

結果: 11 11.11 11.88 10

注意: trunc是直接擷取,而round會四捨五入處理。

功能:取某個數的符號(正或負)

示例:select sign(-100) ,sign(100),sign(0)from dual;

結果:1-、1、0

注意:正數返回1.負數返回-1,零返回0

功能:返回總的資料條數

示例:count(具體字段)

結果:返回當前欄位中不為null的個數

注意: 組值函式很多時候會與單值函式結合使用。

功能:字面意思就能看出來

greatest(value1,value2.value3...)

least(value1,value2.value3...)

功能:函式greatest和least用於返回最大和最小的值。

注意: 他們引數可以是多個,可以使用列、常量、計算結果等

他們不僅限於數值型別中使用,也可以用於字串型別

注意:如果所有的表示式都是空值,最終將返回乙個空值

Oracle常用數值型函式

1 求絕對值 格式 abs x 舉例 sql select abs 25.1 as result from dual result 25.12 取整函式 格式 floor x 返回小於或等於x的最大整數 ceil x 返回大於或等於x的最小整數舉例 sql select floor 25.99 as...

Oracle 數值函式

2.數值函式 1 abs value 返回value的絕對值 select abs 10 from dual 返回結果為10 2 ceil value 返回大於等於value的最小整數 select ceil 2.3 from dual 返回結果為3 3 floor value 返回小於等於valu...

oracle中的常用函式

oracle decode函式 oracle decode函式是oracle公司獨家提供的功能,它是乙個功能很強的函式。它雖然不是sql的標準,但對於效能非常有用。到目前,其他的資料庫 商還不能提供類似decode的功能,甚至有的資料庫的 商批評oracle的sql不標準。實際上,這種批評有些片面或...