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. bzoj4671: 异或图——斯特林反演

    [BZOJ4671]异或图 - xjr01 - 博客园 考虑先算一些限制少的情况 gi表示把n个点的图,划分成i个连通块的方案数 连通块之间不连通很好处理(怎么处理看下边),但是内部必须连通,就很难办 ...

  2. Springboot 5.Springboot 返回cookies信息的post接口开发

    首先创建一个类,类里面首先登陆获取到cookie,然后带着cookie去发送请求 package com.course.server; import com.course.bean.User; imp ...

  3. windows telnet 模拟 http请求

    1. 开启windows自带的telnet客户端(控制面板 --> 程序 --> 启用或关闭windows功能 --> ) 2. 打开cmd,使用Telnet客户端 3. 按ctrl ...

  4. CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解

    在对获取资产信息时,简述有四种方案. 1.Agent  (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点: ...

  5. 应用留数定理计算实积分 $\dps{I(x)=\int_{-1}^1\frac{\rd t}{\sqrt{1-t^2}(t-x)}\ (|x|>1,x\in\bbR)}$ [华中师范大学2010年复变函数复试试题]

    应用留数定理计算实积分 $\dps{I(x)=\int_{-1}^1\frac{\rd t}{\sqrt{1-t^2}(t-x)}\ (|x|>1,x\in\bbR)}$ [华中师范大学2010 ...

  6. Jupyter NoteBook功能介绍

    一.Jupyter Notebook 介绍 文学编程 在介绍 Jupyter Notebook 之前,让我们先来看一个概念:文学编程 ( Literate programming ),这是由 Dona ...

  7. 【汇总目录】Python

    跟廖雪峰老师学Python笔记 [2019年03月29日] 匿名函数 [2019年03月25日] 返回函数与闭包 [2019年03月25日] sorted [2019年03月25日] filter [ ...

  8. Vue技术内幕 出去看看吧 挂载

    src\platforms\web\runtime\index.js 挂载 Vue.prototype.$mount = function ( el?: string | Element, hydra ...

  9. springMVC入门思路整理

  10. 基于百度API+Flask实现网页版和图灵机器聊天

    开发前准备 调用百度和图灵机器人相关的 参考链接:www.cnblogs.com/changtao/p/10596385.html 下载一个网页录音的js插件 链接:https://pan.baidu ...