PostgreSQL之SQL函数介绍及实践(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PostgreSQL之SQL函数介绍及实践(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4975字,纯文字阅读大概需要8分钟。
内容图文
![PostgreSQL之SQL函数介绍及实践(一)](/upload/InfoBanner/zyjiaocheng/524/ea5df27274d2444e9e2e0594622a27dc.jpg)
一、数学函数
PostgreSQL 提供的数学函数主要用来处理数值运算,在PostgreSQL中,所有的数学函数传入的参数可以为精度类型和整型。广泛意义上的数学函数包含数学函数,随机函数,三角函数及双曲函数。
1.1 数学函数
绝对值函数abs(x)
绝对值函数返回一个数值的正数。
示例:
hrdb=> --绝对值函数
hrdb=> SELECT abs(-10.20) AS result;
result
--------
10.20
(1 row)
立方根函数cbrt(dp)
返回一个浮点数的立方根
示例:
hrdb=> --立方根函数cbrt(dp)
SELECT cbrt(729.0) AS result;
result
-------------------
9.000000000000002
向上截取函数ceil(dp or numeric)
返回等于或者大于传入参数的值
示例:
hrdb=> --向上截取函数
hrdb=> SELECT ceil(15.72) AS result;
result
--------
16
(1 row)
hrdb=> SELECT ceil(-121.21) AS result;
result
--------
-121
(1 row)
hrdb=> SELECT ceil(18) AS result;
result
--------
18
(1 row)
温馨提示:
向上截取函数还可以用ceiling进行截取,效果和ceil一样。感兴趣的同学可以下去自行验证。
向下截取函数floor(dp or numeric)
返回小于或者等于传入浮点数的值
示例:
hrdb=> --向下截取函数
hrdb=> SELECT floor(15.72) AS result;
result
--------
15
(1 row)
hrdb=> SELECT floor(-121.21) AS result;
result
--------
-122
(1 row)
hrdb=> SELECT floor(18) AS result;
result
--------
18
(1 row)
求商函数div(y numeric,x numeric)
返回被除数的商
示例:
hrdb=> --求商函数
hrdb=> SELECT div(10,3) AS result;
result
--------
3
(1 row)
hrdb=> SELECT div(8,4) AS result;
result
--------
2
(1 row)
取余函数mod(y numeric,x numeric)
返回被除数的余数
示例:
hrdb=> --取余函数
hrdb=> SELECT mod(8,3) AS result;
result
--------
2
(1 row)
hrdb=> SELECT mod(10,4) AS result;
result
--------
2
(1 row)
幂函数power(a dp,b dp)
返回第一个参数的指定幂次方
示例:
hrdb=> --幂函数
hrdb=> SELECT power(1024,2) AS result;
result
---------
1048576
(1 row)
hrdb=> SELECT power(2,3) AS result;
result
--------
8
四舍五入函数round(v numeric,s int)
返回第一个参数四舍五入后的值
示例:
hrdb=> --四舍五入函数
hrdb=> SELECT round(10.28) AS result;
result
--------
10
(1 row)
hrdb=> SELECT round(10.1824,3) AS result;
result
--------
10.182
(1 row)
hrdb=> SELECT round(11.124378,4) AS result;
result
---------
11.1244
(1 row)
平方根函数sqrt(dp or numeric)
返回传入参数的平方根
示例:
hrdb=> --平方根函数
SELECT sqrt(81) AS result;
result
--------
9
符号函数 sign(dp or numeric)
返回-1 0 1 其中的一个值
示例:
hrdb=> --符号函数
hrdb=> SELECT sign(-10) AS result;
result
--------
-1
(1 row)
hrdb=> SELECT sign(0) AS result;
result
--------
0
(1 row)
hrdb=> SELECT sign(13.2) AS result;
result
--------
1
(1 row)
截取函数 trunc(v numeric,s int)
返回传入参数截取指定长度的值,不指定长度,默认为0
示例:
hrdb=> --截取函数 trunc
hrdb=> SELECT trunc(10.25) AS result;
result
--------
10
(1 row)
hrdb=> SELECT trunc(11.287,2) AS result;
result
--------
11.28
(1 row)
hrdb=> SELECT trunc(11.2364,3) AS result;
result
--------
11.236
(1 row)
1.2 随机函数
随机函数random()
返回0 到 1 之间的精度类型值
示例:
hrdb=> SELECT random();
random
--------------------
0.5765172911994441
(1 row)
返回随机字符串
示例:
hrdb=> --返回随机字符串
hrdb=> SELECT substr(md5(random()::varchar),10,6) AS result;
result
--------
d914dc
(1 row)
1.3 三角函数
正弦函数sin(x)
返回角度的弧度值
示例:
hrdb=> --正弦函数
hrdb=> SELECT sin(30) AS result;
result
---------------------
-0.9880316240928618
(1 row)
温馨提示:
可能很多同学都熟悉三角函数的值,认为sin(30),就应该是0.5,即1/2,记住,这里返回的值是弧度值。如果想要返回sin(30)为角度值,在PostgreSQL中使用sind函数来实现。
示例:
hrdb=> select sind(30);
sind
------
0.5
(1 row)
余弦函数cos(x)
返回角度的弧度值
示例:
hrdb=> --余弦函数
hrdb=> SELECT cos(60) AS result;
result
---------------------
-0.9524129804151563
(1 row)
hrdb=> SELECT cosd(60) AS result;
result
--------
0.5
(1 row)
正切函数tan(x)
返回角度的弧度值
示例:
hrdb=> --正切函数
hrdb=> SELECT tan(90) AS result;
result
--------------------
-1.995200412208242
(1 row)
hrdb=> SELECT tand(90) AS result;
result
----------
Infinity
余切函数 cot(x)
返回角度的弧度值
示例:
hrdb=> --余切函数
hrdb=> SELECT cot(90) AS result;
result
---------------------
-0.5012027833801532
(1 row)
hrdb=> SELECT cotd(90) AS result;
result
--------
0
(1 row)
小结:
以上为常用的数学函数,双曲函数作为三角函数的推导函数,具有和三角函数相同的运算方法,包含加法,乘法,二倍角公式,半角公式等等。感兴趣的同学可以下去进行探究。
PostgreSQL之SQL函数介绍及实践(一)
标签:浮点 md5 数据库 平方根 随机 包含 floor 服务 mod
本文系统来源:https://blog.51cto.com/14575413/2503021
内容总结
以上是互联网集市为您收集整理的PostgreSQL之SQL函数介绍及实践(一)全部内容,希望文章能够帮你解决PostgreSQL之SQL函数介绍及实践(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。