• 【PostgreSQL-9.6.3】函数(1)--数值型函数


    函数表示对输入参数返回一个特殊计算结果的值。PostgreSQL中的函数种类比较丰富,主要分为以下几类:数值型函数、字符型函数、日期和时间函数、条件判断函数、系统函数、加密函数以及其他函数。这篇文章只介绍数学函数,其他几种函数会在后续文章中逐一介绍。

    数学函数

    数学函数主要用来处理数值型数据,主要的数学函数有:绝对值函数、三角函数、对数函数、随机数函数等。

    1. 绝对值函数ABS(A)

    test=# select ABS(-1),ABS(1),ABS(-2.2),ABS(0);
     abs | abs | abs | abs
    -----+-----+-----+-----
       1 |   1 | 2.2 |   0
    (1 row)

    test=#

    2. 返回圆周率函数PI()

    test=# SELECT PI();
            pi        
    ------------------
     3.14159265358979
    (1 row)

    test=#

    3. 平方根函数SQRT(A)

    注意:负数没有平方根

    test=# SELECT SQRT(4),SQRT(20);
     sqrt |       sqrt       
    ------+------------------
        2 | 4.47213595499958
    (1 row)

    test=#

    4. 取余函数MOD(A,B)

    注意:小数取余的原则是,返回值精确到被除数的小数位数,即返回值的小数位数和被除数的小数位数相同。

    test=# SELECT MOD(4,2),MOD(3,2),MOD(3.5,3),MOD(3.55,3);
     mod | mod | mod | mod  
    -----+-----+-----+------
       0 |   1 | 0.5 | 0.55
    (1 row)

    test=#

    5. 取整函数CEIL(A)、CEILING(A)和FLOOR(A)

    CEIL(A)、CEILING(A)返回大于A的最小整数,FLOOR(A)返回小于A的最大整数

    test=# SELECT CEIL(-2.22),CEILING(-2.22),CEIL(2.22),CEILING(2.22),FLOOR(-2.22),FLOOR(2.22);
     ceil | ceiling | ceil | ceiling | floor | floor
    ------+---------+------+---------+-------+-------
       -2 |      -2 |    3 |       3 |    -3 |     2
    (1 row)

    test=#

    6. 四舍五入函数ROUND(A)和ROUND(A,B)

    ROUND(A)对A进行四舍五入,返回最接近A的整数;

    ROUND(A,B)对A进行四舍五入,返回最接近A的数值,结果保留B位。

    注意:在ROUND(A,B)中,当B为负数时,表示保留A值的小数点左边B位,小数点左边的相应位数用‘0’补充。

    test=# SELECT ROUND(-1),ROUND(1),ROUND(-1.65),ROUND(1.65);
     round | round | round | round
    -------+-------+-------+-------
        -1 |     1 |    -2 |     2
    (1 row)

    test=# SELECT ROUND(-1,2),ROUND(1.2345,-2),ROUND(1.2345,2);
     round | round | round
    -------+-------+-------
     -1.00 |     0 |  1.23
    (1 row)

    7. 符号函数SIGN(A)

    返回参数的符号,A的值为负、零或正时,返回结果依次为-1,0,1。

    test=# SELECT SIGN(-10),SIGN(0),SIGN(10);
     sign | sign | sign
    ------+------+------
       -1 |    0 |    1
    (1 row)

    test=#

    8. 幂运算函数POW(A,B)、POWER(A,B)和EXP(A)

    POW(A,B)和POWER(A,B)都返回A的B次方的值;

    EXP(A)返回e的A次方的值。

    test=# SELECT POW(2,2),POWER(2,2),POW(2,-2),POWER(2,-2);
     pow | power | pow  | power
    -----+-------+------+-------
       4 |     4 | 0.25 |  0.25
    (1 row)

    test=#

    9. 对数函数LOG(A)

    返回A的自然对数,A不能为负数。

    test=# SELECT LOG(2);
            log        
    -------------------
     0.301029995663981
    (1 row)

    test=#

    10. 角度和弧度转换函数RADIANS(A)、DEGREES(A)

    RADIANS(A)将角度转换为弧度;

    DEGREES(A)将弧度转换为角度。

    test=# SELECT RADIANS(90),RADIANS(180),DEGREES(PI()),DEGREES(PI()/2);
         radians     |     radians      | degrees | degrees
    -----------------+------------------+---------+---------
     1.5707963267949 | 3.14159265358979 |     180 |      90
    (1 row)

    test=#

    11. 正弦函数SIN(A)和反正弦函数ASIN(A)

    SIN(A)返回A的正弦值,其中A是弧度值;

    ASIN(A)返回A的反正弦值,其中A为-1和1之间的数值。

    SIN(A)和ASIN(A)互为反函数。

    test=# SELECT SIN(1),ASIN(0.841470984807897);
            sin        | asin
    -------------------+------
     0.841470984807897 |    1
    (1 row)

    test=#

     

    12. 余弦函数COS(A)和反余弦函数ACOS(A)

    COS(A)返回A的正弦值,其中A是弧度值;

    ACOS(A)返回A的反正弦值,其中A为-1和1之间的数值。

    COS(A)和ACOS(A)互为反函数。

    test=# SELECT COS(1),ACOS(0.54030230586814);
           cos        | acos
    ------------------+------
     0.54030230586814 |    1
    (1 row)

    test=#

    13. 正切函数TAN(A)、反正切函数ATAN(A)和余切函数COT(A)

    TAN(A)和ATAN(A)互为反函数,TAN(A)和COT(A)互为倒数。

    test=# SELECT TAN(1),ATAN(1.5574077246549),COT(1);
           tan       |       atan        |        cot        
    -----------------+-------------------+-------------------
     1.5574077246549 | 0.999999999999999 | 0.642092615934331
    (1 row)

    test=#


    The End!



  • 相关阅读:
    AngularJS中的Provider们:Service和Factory等的区别
    解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
    关于EL表达式不起作用的问题
    Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群,Tomcat集群
    Java WebService 简单实例
    火狐浏览器中表单内容在表单刷新时候不重置表单信息
    ie文本框内容不居中问题
    javascript call和apply方法
    javascript的词法作用域
    C++提高编程 deque容器
  • 原文地址:https://www.cnblogs.com/NextAction/p/7366614.html
Copyright © 2020-2023  润新知