PostgreSQL自学笔记:6 PostgreSQL函数
6 PostgreSQL函数
6.2 数学函数
abs(x) 绝对值
pi() 圆周率π
select abs(-3),pi();- cookie:
MySQL中的pi()默认值3.141593,
PostgreSQL中的pi()默认值3.14159265358979
e值默认值位数不同,一般浮点数未设置保留
位数显示会不同,MySQL保留6位
- cookie:
sqrt(x) 平方根
mod(x,y) x被y除后的余数
select sqrt(4),mod(9.0,4);ceil(x) ceiling(x) 返回不小于x的最小整数值
floor(x) 返回不大于x的最大整数
select ceil(3.3),floor(3.3);round(x) 返回最接近x的整数,即四舍五入
round(x,y) 返回最接近x的数,其值保留小数点后y位
select round(5.5),round(5.5,2);sign(x) 正 零 负 => 1 0 -1
select sign(pi()),sign(0),sign(-3);pow(x,y) power(x,y) 返回x的y次方
exp(x) e的x次方
select pow(2,3),exp(1);log(x) 返回x相对于10的对数
select log(10),log(3);log(x,y) 返回x相对于y的对数
- cookie:
MySQL中log(x)返回的是x相对于e的对数
- cookie:
radians(x) 将角度转换为弧度
degrees(x) 将弧度转换为角度
select radians(45),degrees(0.5*pi());sin(x) x的正弦,其中x为弧度值
asin(x) x的反正弦,x值在-1到1范围之内,否则报错
cos(x) x的余弦,其中x为弧度值
acos(x) x的反余弦,x值在-1到1范围之内,否则报错
tan(x) x的正切,其中x为弧度值
atan(x) x的反正切,其中x为弧度值
cot(x) x的余切
select sin(1),round(sin(pi()));
6.3 字符串函数
char_length(str)
返回str所包含的字符个数
select char_length('good');concat(s1,s2,...)
返回结果为连接参数产生的字符串
select concat('|**',now(),'**|');concat_ws(x,s1,s2,...)
返回*为分隔符连接后面参数的字符串
select concat_ws('*','1st','null','3rd');left(s,n)
返回字符串s开始最左边n个字符right(s,n)
返回字符串s最右边n个字符
select left('123456',2),right('123456',2);lpad(s1,len,s2)
返回字符串s1,其左边由字符串s2填充,填充长度为lenrpad(s1,len,s2)
返回字符串s1,其左边由字符串s2填充,填充长度为len
select lpad('123',4,'456'),rpad('123',2,'456');ltrim(s)
返回字符串s,字符串左侧空格被删除rtrim(s)
返回字符串s,字符串右侧空格被删除trim(s)
返回字符串s,字符串两侧空格被删除trim(s1 from s)
返回字符串s,字符串两侧s1被删除
select trim('a' from 'aa11aa');repeat(s,n)
返回一个重复n次s组成的字符串,n<=0则为空字符串,s或n
为null则返回null
select repeat('|*|',3);replace(s,s1,s2)
返回s字符串,s其中s1被s2替换
select replace('aabbcc','b','d');substring(s,n,len)
从字符串s返回一个长度为len,起始于位置n
select substring('123456',4,4);- cookie:
PostgreSQL10 不支持n为负数,即倒数位置
- cookie:
position(str1 in str)
返回字符串srl1在字符串str中的开始位置
select position('ball' in 'football');reverse(s)
将字符串s反转返回
select reverse('football');
6.4 日期时间函数
current_date
将当前时间按 YYYU-MM-DD 格式返回
select current_date;current_time
将当前时间按 HH:MM:SS 格式返回
select current_time;curent_timestamp\localtimestamp\now()
返回当前时间和日期extract(type from date)
从日期中提取一部分,而不是执行日期运算
select extract(day from now());//日
select extract(month from now());//月
select extract(year from now());//年
select extract(doy from now());//一年的第几天
select extract(dow from now());//星期几
select extract(quarter from now());//季度- cookie:
此函数和MySQL中的extract略有不同
- cookie:
日期和时间的运算操作
select date '2019-1-17'-'1993-12-22'
6.5 条件判断函数
case expr when v1 then r1 [when v2 r2] [else rm] end;
如果expr等于某个vn,就返回对应位置的rn的值,
如果expr与所有的值都不相等,就返回rmselect case 2 when 1 then 'one'
when 2 then 'two' else 'more' end;
case when v1 then r1 [when v2 then r2] [else rm] end;
如果vn的某个值为true,就返回对应位置的rn的值,
如果都不为true,就返回rm
6.6 系统信息函数
version()
获取PostgreSQL版本号
select version();user current_user
返回当前被PostgreSQL服务器验证的用户名
select user,current_user;- cookie:
在MySQL中version()同样获取mysql版本号,
没有user\current_user函数
- cookie:
6.7 加密和解密函数
md5(str)
为字符串算出一个MD5 128比特检查和
select md5('mypwd');encode(str,pswd_str)
使用pswd_str作为加密编码,加密str
常见加密编码base64\hex\escapedecode(str,pswd_str)
使用pswd_str作为密码,解密str
select encode ('secret','hex');
select decode ('736563726574','hex');- cookie:
MySQL中没有encode\decode函数
- cookie:
6.8 改变数据类型
cast(x,as type) 将x转换成type类型
select cast(100 as char(5));
PostgreSQL自学笔记:6 PostgreSQL函数的更多相关文章
- Node.js自学笔记之回调函数
写在前面:如果你是一个前端程序员,你不懂得像PHP.Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择.这段时间对node.js进行了简单的学习,在这里 ...
- PostgreSQL自学笔记:1 初识 PostgreSQL
博主教材:李小威.清华大学出版社.<PostgreSQL 9.6 从零开始学> 博主操作系统系统:Windows10 博主PostgreSQL版本:PostgreSQL 9.6 和 Pos ...
- PostgreSQL自学笔记:9 索引
9 索引 9.1 索引简介 索引是对数据库表中一列或多列值进行排序的一种结构,使用 索引可提高数据库中特定数据的查询速度 9.1.1 索引的含义和特点 索引是一种单独的.存储在磁盘上的数据库结构,他们 ...
- PostgreSQL自学笔记:8 查询数据
8 查询数据 8.1 基本查询语句 select语句的基本格式是: select {* | 字段1[,字段2,...]} [ from 表1,表2... [where 表达式] [group by & ...
- PostgreSQL自学笔记:与python交互
与python交互教程 原文地址:https://www.yiibai.com/html/postgresql/2013/080998.html 1. Python psycopg2 模块APIs 连 ...
- PostgreSQL自学笔记:5 数据类型和运算符
5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...
- PostgreSQL自学笔记:3 数据库的基本操作
3 数据库的基本操作 3.1 创建数据库 3.1.1 使用对象浏览器创建数据库 [Server] -> PostgreSQL 9.6 -> 数据库,右击 -> 创建 通常: 数据库: ...
- PostgreSQL学习笔记——内置函数
算术函数(数值计算) +(加).-(减).*(乘)./(除) ABS函数--绝对值: ABS(数值) MOD--求余: MOD(被除数,除数) ROUND--四舍五入: ROUND(对象数值,保留小数 ...
- PostgreSQL自学笔记:7 插入、更新与删除数据
7 插入.更新与删除数据 7.1 插入数据 先创建表person: create table person( id int not null, name char(40) not null defau ...
随机推荐
- 绕过阿里云waf进行SQL注入
做个笔记吧,某SQL注入点的绕过,有阿里云waf的. 首先遇到是个搜索框的注入点: 演示下: 针对搜索框,我们的sql语句一般是怎么写的? 本地演示:select * from product whe ...
- java 11 ZGC(可伸缩,低延迟的gc)
ZGC, A Scalable Low-Latency Garbage Collector(Experimental) 可伸缩,低延迟的gc ZGC, 这应该是JDK11最为瞩目的特性, 没有之一. ...
- jvm学习笔记一(垃圾回收算法)
一:垃圾回收机制的原因 java中,当没有对象引用指向原先分配给某个对象的内存时候,该内存就成为了垃圾.JVM的一个系统级线程会自动释放该内存块.垃圾回收意味着程序不再需要的对象是"无用信息 ...
- Java9 接口细谈
java9对接口进行了改进,允许在接口中定义默认方法和类方法并且都支持方法的实现.同时添加了一种私有方法,私有方法也可提供方法实现. 注:下面语法只有在Java8以上的版本才允许在接口定义默认方法.类 ...
- Error creating bean with name
最近在学一个东西,要使用SSM新建一个案例,是这样滴,我有如下 DeptDAO DeptService DeptServiceImpl DeptController Dept Mybatis 首先,我 ...
- NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
.NET Core 控制台程序没有 ASP.NET Core 的 IWebHostBuilder 与 Startup.cs ,那要读 appsettings.json.注依赖.配日志.设 IOptio ...
- 迭代器模式-Iterator(Java实现)
迭代器模式-Iterator 用于访问一个集合中的各个元素, 而又不会暴露集合的内部的细节. 本文展示的例子就是, 在猫群组里, 用迭代器遍历每一只猫. 本文章的例子的继承关系图如下: 其中: Cat ...
- Elasticsearch-基础介绍及索引原理分析(转载)
最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elastic ...
- babel
一款可以将 ES6 代码转换为 ES5 代码的转译器. 官网:http://babeljs.io/ 中文:https://www.babeljs.cn/
- 获取多<a/>标签id值的点击事件
<li> <div class="pic"> <c:if test="${userId != null }"> <a ...