PostgreSQL函数运算

1、算数运算符

SELECT 5+5;   加法

SELECT 10-5;  减法

SELECT 2*3;   乘法

SELECT 10.0/3;  除法

SELECT 10%7;  取余数

SELECT 2^3;   幂

SELECT |/25.0; 平方根

SELECT ||/27.0; 三次方根

SELECT 5!;    阶乘

CREATE TABLE c1(a numeric,b numeric);

INSERT INTO c1 VALUES(2,3),(3,4),(5,6);  创建表格

ALTER TABLE c1 ADD c numeric;

UPDATE c1 SET c = a*b + a^b;

通过update语句来计算列

2、比较运算符

SELECT 10 = 20;   等于

SELECT 10 != 20;  不等于

SELECT 10 <> 20;  不等于

SELECT 10 < 20;   小于

SELECT 10 > 20;   大于

SELECT 10 <= 20;  小于等于

SELECT 10 >= 20;  大于等于

返回t或f

3、逻辑运算符

SELECT * FROM company3;  查看数据

SELECT * FROM company3 WHERE salary >15000 AND salary < 30000;  AND → 且

SELECT * FROM company3 WHERE salary >25000 OR salary < 20000;  OR → 或

SELECT * FROM company3 WHERE NOT salary >25000;  NOT → 否

4、字符串运算及函数(列举常用的函数)

SELECT 'A'||'B';  字符串连接,适用于字符串与数字连接

SELECT CONCAT(10,'a','hello',20.0);  连接所有参数,个数不限,类型不限

SELECT LOWER('ABCD');  将字符转换成小写

SELECT UPPER('ABCD');  将字符转换成大写

SELECT INITCAP('abcd');  将字符串中每个单词的首字母大写

SELECT REPLACE('aaaxxx','a','_');  替换字符串:SELECT REPLACE('aaaxxx','a','_');

SELECT POSITION('lo' in 'hello');  给定子字符串在字符串的位置

SELECT SUBSTRING('hello world' FROM 3 FOR 10);  截取字符串,从from位置截取长度for

SELECT TRIM('  asd ');  删除头尾部空格 → TRIM(BOTH '   asd  ')

SELECT TRIM(LEADING '  asd '),LENGTH(TRIM(LEADING '  asd ')); 删除头部空格

SELECT TRIM(TRAILING '  asd '),LENGTH(TRIM(TRAILING '  asd ')); 删除尾部空格

SELECT TRIM('aaahelloworldaaa','a');  可以指定删除字符,默认删除空格

SELECT LENGTH('ABCD');  字符串中字符的个数

SELECT LEFT('HELLO',2);  返回字符串前n个字符,n为负数时返回除最后|n|个字符以外的所有字符

SELECT RIGHT('HELLO',2);  返回字符串后n个字符,n为负数时返回除最前|n|个字符意外的所有字符

SELECT CAST(10.0 AS text); 

SELECT CAST(salary AS int) FROM company3;  类型转换

5、数值处理函数

SELECT ABS(-10);  绝对值

SELECT PI();   返回π

SELECT SQRT(4);  返回平方根

SELECT ROUND(1.24),ROUND(1.24,3); 四舍五入:第二个参数为保留的小数位数,默认四舍五入到整数

SELECT POW(2,3),EXP(2);  幂运算函数,2的3次方;exp(a)返回e的a次方值

SELECT LOG(2)    自然对数函数,参数大于零

SELECT SIN(3.1415),ASIN(1),COS(3.1415),ACOS(1),TAN(1),ATAN(1.55);  三角函数

SELECT SIGN(10),SIGN(-10),SIGN(0);  符号函数,返回参数的符号,值为负、零或正时分别返回-1,0,1

SELECT RADIANS(90),RADIANS(180),DEGREES(PI()),DEGREES(PI()/2); RADIANS()将角度转换为弧度/DEGREES()将弧度转换为角度

SELECT MAX(salary),MIN(salary),COUNT(salary),AVG(salary),SUM(salary),STDDEV(salary)

FROM company3;  最大值、最小值、计数、均值、求和、标准差

SELECT ARRAY_AGG(salary) FROM company3; 生成数组

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值