当前位置: 移动技术网 > IT编程>数据库>MSSQL > PostgreSQL 9的常用函数,包括数学函数、字符串函数、日期函数、加密函数

PostgreSQL 9的常用函数,包括数学函数、字符串函数、日期函数、加密函数

2020年07月30日  | 移动技术网IT编程  | 我要评论
–绝对值SELECT ABS(-8.8);–圆周率SELECT PI();–平方根SELECT SQRT(9);–求余SELECT MOD(88.8, 7);–四舍五入(只保留整数)SELECT ROUND(1.54);–四舍五入(保留N位小数,N可以是负数和0)SELECT ROUND(1.54, 1);–x的y次方(POW和POWER的作用是一样的)SELECT POW(2, 3);–字符串长度(CHAR_LENGTH和LENGTH的作用是一样的)SELECT CHAR_L

–绝对值
SELECT ABS(-8.8);

–圆周率
SELECT PI();

–平方根
SELECT SQRT(9);

–求余
SELECT MOD(88.8, 7);

–四舍五入(只保留整数)
SELECT ROUND(1.54);

–四舍五入(保留N位小数,N可以是负数和0)
SELECT ROUND(1.54, 1);

–x的y次方(POW和POWER的作用是一样的)
SELECT POW(2, 3);

–字符串长度(CHAR_LENGTH和LENGTH的作用是一样的)
SELECT CHAR_LENGTH(‘我们’);
SELECT LENGTH(‘我们’);

–合并字符串
SELECT CONCAT(‘我’, NULL, ‘你’);

–使用分隔符,合并字符串
SELECT CONCAT_WS(’-’, ‘我’, NULL, ‘你’);

–截取字符串(包括两种:截取左边,截取右边)
SELECT LEFT(‘interesting’, 4), RIGHT(‘interesting’, 4);

–从指定位置开始,截取字符串(从第N-1个字符的位置开始截取M个字符串,如果M不存在就截取全部右边的字符,如果N是负数就不截取)
SELECT SUBSTRING(‘interesting’, 5), SUBSTRING(‘interesting’, 5, 4) AS s2, SUBSTRING(‘interesting’, -3) AS s3;

–填充字符串(把X从左到右截取N位,截取之后的字符串,如果等于N位就返回该值,不足N位用Y填充在左边)
SELECT LPAD(‘have’, 3, ‘t’), LPAD(‘have’, 8, ‘t’);

–填充字符串(把X从左到右截取N位,截取之后的字符串,如果等于N位就返回该值,不足N位用Y填充在右边)
SELECT RPAD(‘have’, 3, ‘t’), RPAD(‘have’, 8, ‘t’);

–删除空格(删除左边的空格,删除右边的空格,删除左边和右边的空格,中间的空格不删除)
SELECT LTRIM(’ I love you ‘), RTRIM(’ I love you ‘), TRIM(’ I love you ');

–删除字符串的指定字符(删除左边和右边的指定字符,中间的指定字符不删除)
SELECT TRIM(‘do’ FROM ‘doI do am Boydodo’);

–替换字符串(把do用空字符替换)
SELECT REPLACE(‘doI do am Boydodo’, ‘do’, ‘’);

—反转字符串
SELECT REVERSE(‘yes’);

–获取当前日期(LOCALTIME和LOCALTIMESTAMP的返回值不带时区)
SELECT CURRENT_DATE, CURRENT_TIME, LOCALTIME, CURRENT_TIMESTAMP, LOCALTIMESTAMP, NOW();

–获取年、月、日(可以指定日期)
SELECT EXTRACT(YEAR FROM NOW()), EXTRACT(MONTH FROM NOW()), EXTRACT(DAY FROM NOW());

–今天是一年的第几天(可以指定日期)
SELECT EXTRACT(DOY FROM NOW());

–今天是星期几,星期1到6对应是1到6,星期日是0(可以指定日期)
SELECT EXTRACT(DOW FROM NOW());

–加上N天
SELECT DATE ‘2020-07-29’ + INTEGER ‘10’;

–加上N个小时
SELECT DATE ‘2020-07-29’ + INTERVAL ‘10 HOUR’;

–加上时分秒(这里没有秒,可以指定HH:mm或者HH:mm:ss)
SELECT DATE ‘2020-07-29’ + TIME ‘10:30’;

–计算两个日期相差的天数
SELECT DATE ‘2020-07-29’ - DATE ‘2020-07-15’;

–MD5加密(MD5不可以解密)
SELECT MD5(‘my_password’);

–加密,base64和hex
SELECT ENCODE(‘my_password’, ‘base64’);
SELECT ENCODE(‘my_password’, ‘hex’);
–解密,解密之后的数据类型是bytea,看不了,必须转换成text类型,才能看到
SELECT DECODE(ENCODE(‘my_password’, ‘base64’), ‘base64’);
SELECT DECODE(ENCODE(‘my_password’, ‘hex’), ‘hex’);

–将bytea转换成text
SELECT ENCODE(DECODE(‘bXlfcGFzc3dvcmQ=’, ‘base64’), ‘escape’);
SELECT ENCODE(DECODE(ENCODE(‘my_password’, ‘hex’), ‘hex’), ‘escape’);

本文地址:https://blog.csdn.net/u010616713/article/details/107668635

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网