PL/SQL

PL/SQL 知识量:16 - 57 - 244

6.2 数值处理函数><

绝对值函数- 6.2.1 -

ABS函数用于返回绝对值。该函数包含1个参数,通常参数类型为数字类型,或可以隐式转换成数字类型(例如某些字符串)。语法结构如下:

ABS(n)

示例:

SQL> select abs(-4),abs(5) from people where id=1;

   ABS(-4)     ABS(5)
---------- ----------
         4          5

取余函数- 6.2.2 -

MOD函数包含2个参数,参数类型为数字类型,或可以隐式转换成数字类型的其他类型。具体语法结构如下:

MOD(n2,n1)

以上代码表示返回n2除以n1的余数。当n1为0时,函数将返回n2。示例:

SQL> select mod(8,3),mod(10,2) from people where id=1;

  MOD(8,3)  MOD(10,2)
---------- ----------
         2          0

三角函数- 6.2.3 -

SIN函数可以返回参数的正弦值,参数类型为数字类型,或可以隐式转换成数字类型的其他类型。如果参数是BINARY_FLOAT类型,则函数返回BINARY_DOUBLE类型。具体语法结构如下:

SIN(n)

其他的三角函数主要还包括:

  • COS(n):返回n的余弦值。

  • ACOS(n):返回n的反余弦值。

  • TAN(n):返回n的正切值。

  • ATAN(n):返回n的反正切值。

  • ASIN(n):返回n的反正弦值。

近似值函数- 6.2.4 -

ROUND函数为近似值函数,它包含2个参数,具体的语法结构如下:

ROUND(n,integer)

简要说明:

  • n:表示原数据。当为0时,函数将返回0。

  • integer:用于指定四舍五入。当为正数时,表示在小数点右边指定的位数处四舍五入;当省略该参数时,和它为0时一致,表示在小数点处进行四舍五入;当为负数时,表示在小数点左边指定的位数处四舍五入。

示例:

SQL> select round(8.2514,1),round(10/3,2) from people where id=1;

ROUND(8.2514,1) ROUND(10/3,2)
--------------- -------------
            8.3          3.33

数字截取函数- 6.2.5 -

TRUNC函数会对数字进行截取,这和近似值函数不一样,具体的语法结构如下:

TRUNC(n1,n2)

简要说明:

  • 根据n2的值对参数n1进行截取。

  • n1:为数字类型或可以隐式转换成数字类型的其他类型。

  • n2:要求是整数,如果不是整数,那么它将被自动截取为整数部分。

  • 当n2为正数时,表示n1将从n2位小数处截取;但n2为0或省略时,表示n1将从小数点处截取;当n2为负整数时,表示n1将从小数点左边对应的位数处开始截取,并用0补齐被截取掉的部分。

示例:

SQL> select trunc(8.2514,1),trunc(10/3,2),trunc(3.1415),trunc(325.36,-2) from people where id=1;

TRUNC(8.2514,1) TRUNC(10/3,2) TRUNC(3.1415) TRUNC(325.36,-2)
--------------- ------------- ------------- ----------------
            8.2          3.33             3              300