ORACLE SQL函数

一.数字函数(SQL,PL/SQL均可使用;返回值为数字类型)

1.CEIL(n)   返回>=数字n的最小整数;

SQL> DECLARE

  2     v_ceil NUMBER(6,2);

  3  BEGIN

  4     v_ceil:=ceil(&no);

  5     dbms_output.put_line(v_ceil);

  6  END;

  7  /

输入 no 的值:  1

原值    4:      v_ceil:=ceil(&no);

新值    4:      v_ceil:=ceil(1);

1



PL/SQL 过程已成功完成。



2.FLOOR(n)  返回<=数字n的最大整数;

SQL> DECLARE

  2     v_floor NUMBER(6,2);

  3  BEGIN

  4     v_floor:=floor(&no);

  5     dbms_output.put_line(v_floor);

  6  END;

  7  /

输入 no 的值:  1

原值    4:    v_floor:=floor(&no);

新值    4:    v_floor:=floor(1);

1



PL/SQL 过程已成功完成。



3.MOD(m,n)  返回m/n的余数,n=0时余数为m;

SQL> DECLARE

  2     v_mod NUMBER(6,2);

  3  BEGIN

  4     v_mod:=mod(&no,&mun);

  5     dbms_output.put_line(v_mod);

  6  END;

  7  /

输入 no 的值:  1

输入 mun 的值:  2

原值    4:    v_mod:=mod(&no,&mun);

新值    4:    v_mod:=mod(1,2);

1



PL/SQL 过程已成功完成。



4.ROUND(n,[m]) m为空,四舍五入至整数位;m<0,四舍五入至小数点n前位;m>0,四舍五入至小数点后n位;

SQL> DECLARE

  2     v_round NUMBER(6,2);

  3  BEGIN

  4     v_round:=ROUND(&no);

  5     dbms_output.put_line(v_round);

  6  END;

  7  /

输入 no 的值:  5.1314562

原值    4:    v_round:=ROUND(&no);

新值    4:    v_round:=ROUND(5.1314562);

5



PL/SQL 过程已成功完成。



SQL> DECLARE

  2     v_round NUMBER(6,2);

  3  BEGIN

  4     v_round:=round(&no,&num);

  5     dbms_output.put_line(v_round);

  6  END;

  7  /

输入 no 的值:  5.1314526

输入 num 的值:  1

原值    4:    v_round:=round(&no,&num);

新值    4:    v_round:=round(5.1314526,1);

5.1



PL/SQL 过程已成功完成。



5.SIGN(n)   返回检测数字的正负,n>0则返回-1;n=0返回0;n<0返回1;

SQL> DECLARE

  2     v_sign NUMBER(6,2);

  3  BEGIN

  4     v_sign:=sign(&no);

  5     dbms_output.put_line(v_sign);

  6  END;

  7  /

输入 no 的值:  -1000

原值    4:    v_sign:=sign(&no);

新值    4:    v_sign:=sign(-1000);

-1



PL/SQL 过程已成功完成。



6.TRUNC(n,m) m<0,数字n截取至小数点的前m位;m>0,数字n截取至小数点的后m位;

SQL> DECLARE

  2     v_trunc NUMBER(6,2);

  3  BEGIN

  4     v_trunc:=trunc(&no,&num);

  5     dbms_output.put_line(v_trunc);

  6  END;

  7  /

输入 no 的值:  123.986

输入 num 的值:  1

原值    4:    v_trunc:=trunc(&no,&num);

新值    4:    v_trunc:=trunc(123.986,1);

123.9



PL/SQL 过程已成功完成。

你可能感兴趣的:(Oracle SQL)