【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!
【PostgreSQL-9.6.3】函数(1)--数值型函数的更多相关文章
- oracle 10g函数大全--数值型函数
ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 [示例] select abs(100),abs(-100) from dual; sign(x) [功能]返回x的正负值 ...
- Oracle内置函数之数值型函数
think different
- PostgreSQL学习手册(五) 函数和操作符
PostgreSQL学习手册(五) 函数和操作符 一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Post ...
- PostgreSQL的时间/日期函数使用
PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ----------- ...
- [转] PostgreSQL的时间/日期函数使用
PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...
- [转帖]PostgreSQL的时间/日期函数使用
PostgreSQL的时间/日期函数使用 https://www.cnblogs.com/mchina/archive/2013/04/15/3010418.html 这个博客的 文章目录比上一个好十 ...
- postgreSQL格式化时间的函数详解
数据类型格式化函数: PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来 ...
- postgreSQL时间、日期函数
一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select currnt_date: 1.3.获 ...
- PostgreSQL+PostGIS的使用 函数清单
一. PostgreSQL与PostGIS的关系 PostgreSQL 是世界上技术最先进的开源数据库,其前身是1977年一个源于Berkeley名为Ingres的非关系型数据库,其项目领导人为Mic ...
随机推荐
- 18.match_phrase的用法
主要知识点: match_phrase的使用场景 match_phrase的用法 match_phrase的原理 一.什么是近似匹配 match_phrase的使用场景 现假设有两个句子 ...
- 【Codeforces 474D】Flowers
[链接] 我是链接,点我呀:) [题意] 让你吃东西 B食物一次必须要吃连续k个 但是对A食物没有要求 问你有多少种吃n个食物的方法(吃的序列) [题解] 设f[i]表示长度为i的吃的序列且符合要求的 ...
- Spring Boot学习总结(4)——使用Springloaded进行热部署
我在开发的时候,总是会及时对自己的程序进行测试,总是频繁的重启web server,容器不烦我们都觉得烦了. dependencys目录下增加: <dependency> <grou ...
- 单词接龙(codevs 1018)
2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 单词接龙是一个与我们经 ...
- ZooKeeper的下载方法
1.进入官网: https://zookeeper.apache.org/releases.html 2.进入服务器列表: http://www.apache.org/dyn/closer.cgi/z ...
- N天学习一个linux命令之rsync
用途 主要用于本地和远程主机同步文件 特性 1 使用增量传输算法(delta-transfer algorithm) 2 支持ssh,rsync协议 3 可以用于本地同步文件 4 本地和远程主机都需要 ...
- N天学习一个Linux命令之帮助命令:man
前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...
- android程序在调试时出现了套接字异常“java.net.SocketException: Permission denied”该如何解决
Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 一般是抛出 java.net.socketexception permission denied这个异常.只要你的程序 ...
- [转]趣题:一个n位数平均有多少个单调区间?---- From Matrix67
考虑这么一个 14 位数 02565413989732 ,如图所示,它的数字先逐渐变大,然后开始变小,再变大,再变小,再变大,再变小.我们就说,它一共包含了 6 个单调区间.我们的问题就是:一个 n ...
- AspNet MVC4 教学-27:Asp.Net MVC4 自己定义helper及function的高速Demo
A.创建Basic类型项目. B.创建App_Code目录,在里面创建2个cshtml文件: MyHelper.cshtml: @helper MyTruncate(string input, int ...