函数表示对输入参数返回一个特殊计算结果的值。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!

【PostgreSQL-9.6.3】函数(1)--数值型函数的更多相关文章

  1. oracle 10g函数大全--数值型函数

    ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 [示例] select abs(100),abs(-100) from dual; sign(x) [功能]返回x的正负值 ...

  2. Oracle内置函数之数值型函数

    think different

  3. PostgreSQL学习手册(五) 函数和操作符

    PostgreSQL学习手册(五) 函数和操作符 一.逻辑操作符:    常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符:    下面是Post ...

  4. PostgreSQL的时间/日期函数使用

    PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ----------- ...

  5. [转] PostgreSQL的时间/日期函数使用

    PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...

  6. [转帖]PostgreSQL的时间/日期函数使用

    PostgreSQL的时间/日期函数使用 https://www.cnblogs.com/mchina/archive/2013/04/15/3010418.html 这个博客的 文章目录比上一个好十 ...

  7. postgreSQL格式化时间的函数详解

    数据类型格式化函数:    PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来 ...

  8. postgreSQL时间、日期函数

    一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select currnt_date: 1.3.获 ...

  9. PostgreSQL+PostGIS的使用 函数清单

    一. PostgreSQL与PostGIS的关系 PostgreSQL 是世界上技术最先进的开源数据库,其前身是1977年一个源于Berkeley名为Ingres的非关系型数据库,其项目领导人为Mic ...

随机推荐

  1. redis 和 memcached的区别

    redis和memcached的区别   Redis 和 Memcache 都是基于内存的数据存储系统.Memcached是高性能分布式内存缓存服务:Redis是一个开源的key-value存储系统. ...

  2. 7 numpy 傅里叶,提取图片轮廓

    任务:提取照片中轮廓   本次处理图片:我的女神之一  江一燕   导入模块: #jyy.show()   会打开本地图片浏览器       使用傅里叶反转 获取实部,舍弃虚部 去除小数部分 将一维数 ...

  3. ganglia问题小结

    1.gmetad和rrdtool的关系 gmetad负责将轮询gmond拉取到的数据存入rrdtool的文件中,rrdtool 2.gemtad.conf ①命令:/usr/sbin/gmetad - ...

  4. 【Codeforces 340D】Bubble Sort Graph

    [链接] 我是链接,点我呀:) [题意] 让你根据冒泡排序的规则 建立一张图 问你这张图的最大独立子集的大小 [题解] 考虑a[i]会和哪些点连边? 必然是在a[i]左边且比它大的数字以及在a[i]右 ...

  5. [luogu1156]垃圾陷阱_动态规划_背包dp

    垃圾陷阱 luogu-1156 题目大意:Holsteins在距离地面D英尺的地方,FJ间隔时间ti会往下扔第i个垃圾.Holsteins对待每一个垃圾都会选择吃掉或者垫高.Holsteins有10个 ...

  6. Linux下route add 命令加入路由列表

    route add命令的主要作用是加入静态路由,通常的格式是: route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2 參数含义:d ...

  7. 解析Qt元对象系统(五) Q_INVOKABLE与invokeMethod(automatic connection从Qt4.8开始的解释已经与之前不同,发送对象驻足于哪一个线程并不重要,起到决定作用的是接收者对象所驻足的线程以及发射信号(该信号与接受者连接)的线程是不是在同一个线程)good

    概述查看Qt源码可知,Q_INVOKABLE是个空宏,目的在于让moc识别. 使用Q_INVOKABLE来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起. Q_INVOKABLE与QMe ...

  8. Android中关闭DatePicker、TimePicker、NumberPicker的可编辑模式

    DatePicker.TimePicker.NumberPicker这三个控件在使用的过程中,用户点击数字会弹出键盘,有时候会造成布局被挤压不好看,也有其他的需求. 我看了网上很多文章的解决办法都无效 ...

  9. C#实现对数据库的备份还原(完全)

    C#实现对数据库的备份还原 ( 用SQL语句实现对数据库备份还原操作 备份SqlServer数据库: backup database 数据库名 to disk (备份文件存放路径+文件名).bak 还 ...

  10. C# SuperSocket服务端入门(一)

    1,新建一个控制台应用程序,.NET版本4.0 2,添加SuperSocket(1.6.1).Binaries\Net40\Debug  目录下的: SuperSocket的dll文件( log4ne ...