数据库
首页 > 数据库> > oracle函数

oracle函数

作者:互联网

普通函数

正负值类:

ABS

绝对值,返回值一定大于等于0
SIGN
返回值只有1(正数)、-1(负数)和0(零)

舍入类的函数
CEL,向上取整
ceil(1.06)=2,ceil1.9)=2
FLOOR,向下取整
floor(1.06)=1, floor(1.9)=1
ROUND,四舍五入
round(1.06)=1, round(1.9)=2. round(15.06,1)=15.1, round(15.06,-1)=20
TRUNC,截断
trunc(1.06)=1, trunc(1.9)=1, trunc(15.16,1)=15.1, trunc(15.16,-1)=10

求余类的函数
MOD,求余
经典:mod(n2,n1)=n2-n1* FLOOR(n2/n1)
oracle: mod(n2, n1)=sign(n2*(abs(n2)-abs(n1)*FLOOR(abs(n2)/abs(n1)))
・n2为正数:mod(13,5)=3,mod(13.12,5)=3.12,mod(13.12,5.1)=2.92,mod(13.12,-5)=3.12
n2为负数:mod(-13,5)=-3,mod(-13.12,5.1)=-2.92
Oracle里的mod求余和传统意义上的mod函数不一样
REMAINDER,求余2
・经典: remainder(n2.n1)=n2-n1* ROUND(n2/n1)
oracle remainder(n2, n1)=n2-n1*(case when ABS(2/n1)-05=TRUNC(ABS(n2/n1))and
mod(ROUND(AB$( 2/n1)). 2)=1 then ROUND(n2/n1)-SIGN(2/n1)else ROUND(n2/n1)end
n2为正数: remainder(13,5)=-2, remainder(113)=1
・n2为负数: remainder(-13,5)=2, remainder(-13.12,5.1)=2.18
通常我们使用MOD,而不使用 REMAINDER

 

标签:函数,13.12,oracle,n1,n2,remainder,ROUND,mod
来源: https://www.cnblogs.com/lag1/p/15237190.html