6 PostgreSQL函数

6.2 数学函数

  • abs(x) 绝对值

  • pi() 圆周率π

    select abs(-3),pi();

    • cookie:

      MySQL中的pi()默认值3.141593,

      PostgreSQL中的pi()默认值3.14159265358979

      e值默认值位数不同,一般浮点数未设置保留

      位数显示会不同,MySQL保留6位
  • 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的对数
  • 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填充,填充长度为len

  • rpad(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为负数,即倒数位置
  • 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略有不同

日期和时间的运算操作

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与所有的值都不相等,就返回rm

    select 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函数

6.7 加密和解密函数

  • md5(str)

    为字符串算出一个MD5 128比特检查和

    select md5('mypwd');

  • encode(str,pswd_str)

    使用pswd_str作为加密编码,加密str

    常见加密编码base64\hex\escape

  • decode(str,pswd_str)

    使用pswd_str作为密码,解密str

    select encode ('secret','hex');

    select decode ('736563726574','hex');

    • cookie:

      MySQL中没有encode\decode函数

6.8 改变数据类型

  • cast(x,as type) 将x转换成type类型

    select cast(100 as char(5));

PostgreSQL自学笔记:6 PostgreSQL函数的更多相关文章

  1. Node.js自学笔记之回调函数

    写在前面:如果你是一个前端程序员,你不懂得像PHP.Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择.这段时间对node.js进行了简单的学习,在这里 ...

  2. PostgreSQL自学笔记:1 初识 PostgreSQL

    博主教材:李小威.清华大学出版社.<PostgreSQL 9.6 从零开始学> 博主操作系统系统:Windows10 博主PostgreSQL版本:PostgreSQL 9.6 和 Pos ...

  3. PostgreSQL自学笔记:9 索引

    9 索引 9.1 索引简介 索引是对数据库表中一列或多列值进行排序的一种结构,使用 索引可提高数据库中特定数据的查询速度 9.1.1 索引的含义和特点 索引是一种单独的.存储在磁盘上的数据库结构,他们 ...

  4. PostgreSQL自学笔记:8 查询数据

    8 查询数据 8.1 基本查询语句 select语句的基本格式是: select {* | 字段1[,字段2,...]} [ from 表1,表2... [where 表达式] [group by & ...

  5. PostgreSQL自学笔记:与python交互

    与python交互教程 原文地址:https://www.yiibai.com/html/postgresql/2013/080998.html 1. Python psycopg2 模块APIs 连 ...

  6. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  7. PostgreSQL自学笔记:3 数据库的基本操作

    3 数据库的基本操作 3.1 创建数据库 3.1.1 使用对象浏览器创建数据库 [Server] -> PostgreSQL 9.6 -> 数据库,右击 -> 创建 通常: 数据库: ...

  8. PostgreSQL学习笔记——内置函数

    算术函数(数值计算) +(加).-(减).*(乘)./(除) ABS函数--绝对值: ABS(数值) MOD--求余: MOD(被除数,除数) ROUND--四舍五入: ROUND(对象数值,保留小数 ...

  9. PostgreSQL自学笔记:7 插入、更新与删除数据

    7 插入.更新与删除数据 7.1 插入数据 先创建表person: create table person( id int not null, name char(40) not null defau ...

随机推荐

  1. Cucumber环境配置

    1.JDK下载和配置 2.Maven下载和环境配置 3.IDEA下载和Cucumber插件安装 下载地址官网,一般IDEA自带cucumber插件 如果没有安装过的话,点击以下进行搜索安装,安装完成后 ...

  2. 计算pi的位数

    from random import random from math import sqrt from time import clock DARTS=1000000 hits=0.0 clock( ...

  3. 2017-12-19python全栈9期第四天第二节之列表的增删查改之按索引改和按切片改

    #!/user/bin/python# -*- coding:utf-8 -*-li = ['zs','ls','ww','zl','xx']li[0] = 'cxvb' #按索引位置print(li ...

  4. monkey测试 -- 原理和操作步骤

     Monkey测试原理: Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...

  5. Web从入门到放弃<8>

    Ref: Cameron D. - HTML5, JavaScript and jQuery (Programmer to Programmer) - 2015 http://www.runoob.c ...

  6. 前端基础之jQuery

    JavaScript和jQuery的区别 JavaScript是一门编程语言,我们用它来编写客户端浏览器脚本 jQuery是javascript的一个库,包含多个可重用的函数,用来辅助我们简化java ...

  7. 【原创】大叔经验分享(8)创建hive表时用内部表还是外部表

    内部表和外部表最主要的一个差别就是删除表或者删除分区时,底层的文件是否自动删除,内部表会自动删除,外部表不会自动删除,所以基础数据表一定要用外部表,即使误删表或分区之后,还可以很容易的恢复回来. 虽然 ...

  8. 【原创】大数据基础之Hadoop(3)yarn数据收集与监控

    yarn常用rest api 1 metrics # curl http://localhost:8088/ws/v1/cluster/metrics The cluster metrics reso ...

  9. Solidity属性和方法的访问权限

    属性:默认是internal的类型,外部是不可以访问调用的,如果加上public的话,那么是会自动为这个属性加上一个get的方法的,比如uint   public _age; => functi ...

  10. nginx优化之keepalive

    一.nginx之tcp_nopush.tcp_nodelay.sendfile 1.TCP_NODELAY你怎么可以强制 socket 在它的缓冲区里发送数据?一个解决方案是 TCP 堆栈的 TCP_ ...