Oracle函数之数值函数


1. 绝对值函数 abs(x)

  • 功能:返回x的绝对值
  • 参数:数值型表达式
  • 返回:x的绝对值

SQL和执行结果:
SELECT ABS(-12.345), ABS(67.890), ABS(0) FROM dual;

ABS(x)


2. 正负1函数 sign(x)

  • 功能:根据x的值,以±1或0的形式,返回x的正负号
  • 参数:数值型表达式
  • 返回:x若为正值返回1,负值返回-1,0返回0

SQL和执行结果:
SELECT SIGN(0), SIGN(-1.2345), SIGN(6.7890) FROM dual;

SIGN(x)


3.1 向上取整函数ceil(x)

  • 功能:获得大于等于x最小整数
  • 参数:数值型表达式
  • 返回:
    1,一个整数
    2,该整数大于等于x
    3,该整数和x之间不存在其他整数

SQL和执行结果:
SELECT CEIL(-0.5),CEIL(-2.1),CEIL(-15.8),ceil(0),CEIL(0.5),CEIL(2.1),CEIL(-15.8) FROM dual;

CEIL(x)

3.2 向下取整函数floor(x)

  • 功能:获得小于等于x最大整数
  • 参数:数值型表达式
  • 返回:
    1,一个整数
    2,该整数小于等于x
    3,该整数和x之间不存在其他整数

SQL和执行结果:
SELECT FLOOR(-0.5),FLOOR(-2.1),FLOOR(-15.8),FLOOR(0),FLOOR(0.5),FLOOR(2.1),FLOOR(15.8) FROM dual;

FLOOR(x)

记忆

  • Ceil意为“天花板”,ceil()函数是“向上取整函数”(天花板在
  • Floor意为“地板”,floor()函数是“向下取整函数”(地板在

4. 四舍五入函数round(x[,y])

  • 功能:计算对x四舍五入保留y位小数
  • 参数:x,y 数值型表达式
  • 返回:对x四舍五入保留y位小数的结果
  1. x可以是正负整数或小数
  2. y默认为0,可以是正负整数或小数
  3. y为小数时,截取y的整数部分
  4. y为正数时,从小数点右边y位开始四舍五入
    y为负数时,从小数点左边y位开始四舍五入

SQL和执行结果:
SELECT ROUND(1.234567), ROUND(-1.234567, 1), ROUND(1.234567, 2.3), ROUND(-1.234567, 4.5), ROUND(1234567.89, -5), ROUND(-1.234567, 9) FROM dual;

ROUND(x[,y])


5. 截取函数trunc(x[,y])

  • 功能:计算对x截取y位
  • 参数:x,y 数值型表达式
  • 返回:对x截取y位的结果
  1. 截取不会有任何进位或四舍五入
  2. x可以是正负整数或小数
  3. y默认为0,可以是正负整数或小数
  4. y为小数时,截取y的整数部分
  5. y为正数时,从小数点右边y位开始截取
    y为负数时,从小数点左边y位开始截取

SQL和执行结果:
SELECT TRUNC(1.234567), TRUNC(-1.234567, 1), TRUNC(1.234567, 2.3), TRUNC(-1.234567, 4.5), TRUNC(1234567.89, -5), TRUNC(-1.234567, 9) FROM dual;

TRUNC(x[,y])


6. 取余函数mod(x,y)

  • 功能:计算x/y的余数
  • 参数:x,y 数值型表达式
  • 返回:x/y的余数

SQL和执行结果:
SELECT MOD(81, 3), MOD(100, 101), MOD(-123.45, 6.7), MOD(10, -3.3), MOD(-78.9, -2) FROM dual;

MOD(x,y)


7. 开方函数sqrt(x)

  • 功能:计算x的平方根
  • 参数:x 数值型表达式,必须大于等于0
  • 返回:x的平方根

SQL和执行结果:
SELECT SQRT(81), SQRT(2), SQRT(0), SQRT(3.5) FROM dual;

SQRT(x)


8. 幂函数 power(x,y)

  • 功能:计算x的y次幂
  • 参数:x,y 数值型表达式
  • 返回:x的y次幂

特别的:当x为常数e时的幂函数exp(y)

  • 功能:计算常数e的y次幂
  • 参数:y 数值型表达式
  • 返回:e的y次幂

SQL和执行结果:
SELECT EXP(2), POWER(3, 2), POWER(-0.5, 3), POWER(10, -1), POWER(81, 0.5) FROM dual;

POWER(x,y),EXP(y)


9. 对数函数 log(x,y)

  • 功能:计算以x为底的y的对数
  • 参数:x,y 数值型表达式,且均大于0
  • 返回:以x为底的y的对数

特别的:当x为常数e时的y的对数ln(y)

  • 功能:计算以常数e为底的y的对数
  • 参数:y 数值型表达式,且大于0
  • 返回:以e为底的y的对数

SQL和执行结果:
SELECT LOG(1.23, 45.67), LOG(8, 9), LN(123.45), LN(678) FROM dual;

LOG(x,y),LN(y)


你可能感兴趣的:(Oracle函数之数值函数)