分享

常用PostgreSQL函数

 米达麦亚 2022-06-02 发布于北京

PostgreSQL常用函数介绍

1.数学函数

	abs() 返回绝对值
	pi() 返回圆周率值
	sqrt() 返回非负数的二次方根
	mod(x,y) 返回x被y除(x/y)后的余数,x也可以为小数
	
	ceil(x) 或 ceiling(x) 返回不小于x最小整数值
	floor(x) 返回不大于x的最大整数值
	
	round(x) 返回最接近于x的整数
	round(x,y) 返回最接近于x的数,其值保留小数点后y位,若y为负值,则保留小数点左边y位

	sign(x) x为负,零,正时返回结果依次为:-1,0,1

	pow(x,y) 或 power(x,y) 返回x的y次乘方的结果值
	exp(x) 返回e的x乘方后的值
	log(x)	返回x的自然对数

	radians(90) 将角度值90转变为弧度值1.5707...
	degrees(pi()) 将弧度值转变为角度值180

	sin()
	asin()
	cos()
	acos()
	tan()
	atan()
	cot()
  

2.字符串函数

	char_length(str) 返回str包含字符的个数
	length(str) 返回字符串的字节长度,使用utf8编码时,一个汉字占三个字节,一个数字或字母占一个字节。

	concat(s1,s2,...,sn) 把这些字符串连接起来。当有null时忽略,当有任一二进制字符串,结果为一个二进制字符串。
	concat_ws(x,s1,s2,...,sn) 第一个参数x是其他参数的分隔符。

	left(s,n) 返回字符串s最左边n个字符
	right(s,n) 返回字符串s最右边n个字符

	lpad(s1,len,s2):返回长度len的s1字符串,若s1长于len,则截取前len个;否则,在左边填充s2至长度为len.
	rpad(s1,len,s2):返回长度len的s1字符串,若s1长于len,则截取前len个;否则,在右边填充s2至长度为len.

	ltrim(s): 字符串左边空格被删除
	rtrim(s):字符串右边空格被删除
	trim(s):字符串左右两边边空格被删除
	trim(s1 from s) : 删除字符串s两端所有的子字符串s1
	
	repeat(s,n): 返回重复n次s组成的字符串。
	replace(s,s1,s2) : 使用s2替换s中的s1

	substring(s,n,len):返回起始于n位置的len个字符组成的字符串
	position(str1 in str): 返回子字符串str1在str中的开始位置

	reverse(s): 将字符串s反转
	

3.日期和时间函数

	current_date
	current_time 带时区
	localtime 不带时区
	current_timestamp 或 now()
	localtimestamp

	extract(类型 from 日期) : 从日期中提取某类型的时间值。类型有(day,month,year,doy[一年中的第几天],dow[一周中的星期几],quarter[几季度])
	
	日期和时间的运算操作:
		date'2019-09-28' + integer'10'  : 2019-10-08
		date'2019-09-28' + interval '3 hour'  : 2019-09-28 03:00:00
		date'2019-09-28' + time '06:00'  : 2019-09-28 06:00:00
		date '2019-11-01' - date '2019-09-10' : 52
		50 * interval '2 second' : 00:01:40
		interval '1 hour' / integer '2' : 00:30:00 
	
	

4.条件判断函数

条件判断函数亦称控制流函数,根据满足的条件而执行相应的流程。

	1.表达式结果等于某个条件
	 case 表达式 when 条件1 then 对应值1 [when 条件2 then 对应值2] else 没有匹配到时的对应值 end

	2.当条件为true时执行对应的流程
	case when 条件1 then 对应值1 [when 条件2 then 对应值2] else 没有匹配到时的对应值 end

5.系统信息函数

	version()
	user
	current_user

6.加密函数

	md5(str): 为str字符串算出一个MD5 128比特检查和。
	
	encode()
	decode()

7.改变数据类型的函数

	cast(x as type) : 将一个类型的值转换为另一个类型的值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多