SQL函数(数学函数,聚合函数,字符串函数)

二、SQL函数

2.1、数学函数

序号数学函数返回的结果
1abs(x)返回 x 的绝对值
2rand()返回 0 到 1 的随机数
3mod(x,y)返回 x 除以 y 以后的余数
4power(x,y)返回 x 的 y 次方
5round(x)返回离x最近的整数
6round(x,y)保留 x 的 y 位小数四舍五入后的值
7sqrt(x)返回 x 的平方根
8truncate(x,y)返回数字 x 截断为 y 位小数的值
9ceil(x)返回大于或等于 x 的最小整数
10floor(x)返回小于或等于 x 的最大整数
11greatest(x1,x2…)返回集合中最大的值
12least(x1,x2…)返回集合中最小的值

数学函数的测试

abs(x),rand(),mod(x,y), power(x,y),round(x)
#绝对值,0-1的随机数,取余,次方,离最近的整数
select abs(-1),rand(),mod(5,3), power(2,3),round(1.89);

在这里插入图片描述

平方根sqrt(x)
select sqrt(4);

在这里插入图片描述

round(x,y),truncate(x,y), ceil(x),floor(x)
select round(1.8729,3),truncate(1.235,2),ceil(5.2),floor(2.1);

在这里插入图片描述

greatest(x1,x2…),least(x1,x2…)
select greatest(1.1,2.2,3.3,4.4),least(1.89,3,6.1,2.1);

在这里插入图片描述

2.2、聚合函数

序号数学函数返回结果
1avg()返回指定列的平均值
2count()返回指定列中非NULL的个数(插入的‘ ’不属于NULL,所也算一条记录)
3min()返回指定列的最小值
4max()返回指定列的最大值
5sum()返回指定列的所有值之和

用avg()函数计算平均值

select  avg(Sales) from Store_Info;

在这里插入图片描述

count()函数计算某个字段的非null个数

select count(Store_Name) from Store_Info;

在这里插入图片描述

注:

  • count(*)可以查看所有的列的行数,统计的时候不会忽略列值为null
  • count(列名),只统计包括列名那一列的行数,会忽略列值为null的那一行

min(),max(),sum()函数计算最大值最小值,以及和

select  min(Sales) from Store_Info;
select  max(Sales) from Store_Info;
select  sum(Sales) from Store_Info;

在这里插入图片描述

2.3、字符串函数

序号字符串函数返回值
1trim()值去除格式后返回
2concat(x,y)将x与y进行拼接后返回
3substr(x,y)获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同
4substr(x,y,z)获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串
5length(x)返回字符串 x 的长度
6replace(x,y,z)将字符串 z 替代字符串 x 中的字符串 y
7upper(x)将字符串 x 的所有字母变成大写字母
8lower(x)将字符串 x 的所有字母变成小写字母
9left(x,y)返回字符串 x 的前 y 个字符
10right(x,y)返回字符串 x 的后 y 个字符
11repeat(x,y)将字符串 x 重复 y 次
12space(x)返回 x 个空格
13strcmp(x,y)比较 x 和 y,返回的值可以为-1,0,1
14reverse(x)将字符串 x 反转

字符串函数的验证

select trim(' abcp滴滴 ');
###############
select concat(Region,Store_Name) from location where Store_Name='Boston';
select Region || ' ' || Store_Name from location where Store_Name=1;     
#如sql_mode开启 了PIPES_AS_CONCAT, "||" 视为字符串的连接操作符而非或运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的
#################
select substr(Store_Name,3) from location where Store_Name='Los Angeles';#获取从字符串 x 中的第 y 个位置开始的字符串		
select substr(Store_Name,2,4) from location where Store_Name='New York';     #获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不得不说的运维故事

你的赞是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值