1、ABS(x)求绝对值
2、CEIL(x)和FLOOR(x)做取整操作
3、MOD(x,y)计算x除以y所得的余数
4、POWER(x,y)和SQRT(x)幂运算
5、ROUND(x[,y])和TRUNC(x[,y])函数
6、SIGN(x)函数获取操作数的符号
sql 代码
- DECLARE
- V_INTA NUMBER :=10;
- V_INTB NUMBER :=-10;
- BEGIN
- --输出10
- DBMS_OUTPUT.put_line(ABS(V_INTA));
- --输出10
- DBMS_OUTPUT.put_line(ABS(V_INTB));
- END;
2、CEIL(x)和FLOOR(x)做取整操作
sql 代码
- DECLARE
- V_INTA NUMBER :=2.25;
- V_INTB NUMBER :=-5.57;
- BEGIN
- --取大于或等于V_INTA的最小整数,输出3
- DBMS_OUTPUT.put_line(CEIL(V_INTA));
- --取小于或等于V_INTB的最小整数,输出-6
- DBMS_OUTPUT.put_line(FLOOR(V_INTB));
- END;
3、MOD(x,y)计算x除以y所得的余数
sql 代码
- DECLARE
- V_INTA NUMBER :=5;
- V_INTB NUMBER :=2;
- BEGIN
- --V_INTA大于V_INTB,输出余数1
- DBMS_OUTPUT.put_line(MOD(V_INTA,V_INTB));
- --V_INTB小于V_INTA,输出V_INTB 2
- DBMS_OUTPUT.put_line(MOD(V_INTB,V_INTA));
- END;
4、POWER(x,y)和SQRT(x)幂运算
sql 代码
- DECLARE
- --V_INTA NUMBER :=5;
- --V_INTB NUMBER :=2;
- BEGIN
- --输出2的3次方,结果为8
- DBMS_OUTPUT.put_line(POWER(2,3));
- --输出25的平方根,结果为5
- DBMS_OUTPUT.put_line(SQRT(25));
- END;
5、ROUND(x[,y])和TRUNC(x[,y])函数
sql 代码
- DECLARE
- V_INTA NUMBER :=154.576;
- --V_INTB NUMBER :=2.23;
- BEGIN
- --只用一个参数,则对小数部分保留0位,154.5进行四舍五入操作后输出155
- DBMS_OUTPUT.put_line(ROUND(V_INTA));
- --第2个参数N为正数,则对小数部分保留N位,154.576进行四舍五入操作后输出154.48
- DBMS_OUTPUT.put_line(ROUND(V_INTA,2));
- --第2个参数N为负数,则保留小数点左边部分第N位,并进行四舍五入操作
- --小数点左边第2位是5,150四舍五入后为200,则输出200
- DBMS_OUTPUT.put_line(ROUND(V_INTA,-2));
- --TRUNC函数和ROUND函数参数的意义是完全相同的,不同的是TRUNC不做四舍五入的操作
- --只用一个参数,则对小数部分保留0位,输出154
- DBMS_OUTPUT.put_line(TRUNC(V_INTA));
- --第2个参数N为正数,则对小数部分保留N位,输出154.47
- DBMS_OUTPUT.put_line(TRUNC(V_INTA,2));
- --第2个参数N为负数,则保留小数点左边部分第N位,
- --小数点左边第2位是5,则补0输出100
- DBMS_OUTPUT.put_line(TRUNC(V_INTA,-2));
- END;
6、SIGN(x)函数获取操作数的符号
sql 代码
- DECLARE
- --V_INTA NUMBER :=125.473;
- --V_INTB NUMBER :=2.23;
- BEGIN
- --参数为正数,输出1
- DBMS_OUTPUT.put_line(SIGN(299));
- --参数为0,输出0
- DBMS_OUTPUT.put_line(SIGN(0));
- --参数为负数,输出-1
- DBMS_OUTPUT.put_line(SIGN(-299));
- END;