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

【PostgreSQL-9.6.3】函数(1)--数值型函数相关推荐

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

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

  2. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

  3. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

  4. R语言sign函数判断数值为正数或者负数实战

    R语言sign函数判断数值为正数或者负数实战 目录 R语言sign函数判断数值为正数或者负数实战 #基本语法 #正负数判断 #基本语法 sign(5) # Basic R syntax of sign ...

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

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

  6. PostgreSQL COALESCE 和 NULLIF 函数

    本文学习PostgreSQL COALESCE 和 NULLIF函数.COALESCE它返回第一个非空参数,并通过示例让你了解如何在select语句中有效处理空值.NULLIF需要两个参数,参数相同返 ...

  7. PostgreSQL定义返回表函数

    PostgreSQL定义返回表函数 本文我们学习如何在PostgreSQL 开发返回表函数. 示例数据表 我们使用的示例数据库表为film,如下图所示: 示例1 第一个函数发挥所有满足条件film表记 ...

  8. PostgreSQL pg中 lpad函数使用

    PostgreSQL pg中 lpad函数使用 PostgreSQL中的lpad()函数有两个功能:1,如果长度不够指定的长度,就在左边填充字符串,2,如果长度超出了指定的长度,就把右边截掉. 语法格 ...

  9. oracle数值型函数大全(不包含三角函数)

    --数值型函数大全 --1.abs(x)     返回x的绝对值 select abs(-2.1) from dual; --2.mod(x,y)      取余 select mod(5,2) fr ...

最新文章

  1. 量子计算机计算时间复杂度,量子计算复杂性理论综述.PDF
  2. 阿里巴巴60万年薪抢毕业生 必须是公认技术牛人
  3. 图片转svg标注_两个免费网站轻松搞定图片文件压缩转化!
  4. MaxCompute2.0性能评测:更强大、更高效之上的更快速
  5. 笔记本电脑锁_联想都不敢想之2020年笔记本电脑推荐
  6. 做python自动化得时候怎么添加断言_在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了一些操作...
  7. ITK:使用连通性细分具有相似统计信息的像素
  8. haproxy服务启动命令_安装haproxy和haproxy命令
  9. SpringCloud 入门教程(三): 配置自动刷新
  10. 表格在拟合曲线找点_【无机纳米材料科研制图——OriginLab 0208】Origin拟合SERS拉曼光谱...
  11. Spring @Bean @Scope @Qualifier
  12. 台湾“比基尼登山客”遗体运出 山友接其“回家”
  13. 湖大计算机考研跟南航比,省三也可以逆袭进入985大学?这49所自主招生高校都收省三!...
  14. 基于Web2.0的异构数字资源检索系统研究与开发
  15. 移动硬盘数据错误循环冗余检查,要怎么恢复资料
  16. 【报错】UnboundLocalError: local variable ‘xxx‘ referenced before assignment
  17. 字符类型与Unicode 编码
  18. JAVA获取excel第一列数据
  19. python 管理 交换机_用python 脚本控制telnet登录交换机
  20. java皮丘 博客园,又一个设计工具 Framer X Preview

热门文章

  1. VS 2012 单元测试简单配置
  2. Android服务注册完整过程源码分析
  3. 计算机组成原理实验存储器部件实验,计算机组成原理实验_存储器部件教学实验...
  4. rewind java_Java LongBuffer rewind()用法及代码示例
  5. python文件夹遍历_Python练习6-文件遍历
  6. 无法启动windows audio服务,错误提示126.
  7. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句...
  8. js的隐含参数(arguments,callee,caller)使用方法
  9. Java垃圾回收精粹 — Part4
  10. C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)