SQL函数(数学函数,聚合函数,字符串函数)
Posted 老张学coding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL函数(数学函数,聚合函数,字符串函数)相关的知识,希望对你有一定的参考价值。
文章目录
二、SQL函数
2.1、数学函数
序号 | 数学函数 | 返回的结果 |
---|---|---|
1 | abs(x) | 返回 x 的绝对值 |
2 | rand() | 返回 0 到 1 的随机数 |
3 | mod(x,y) | 返回 x 除以 y 以后的余数 |
4 | power(x,y) | 返回 x 的 y 次方 |
5 | round(x) | 返回离x最近的整数 |
6 | round(x,y) | 保留 x 的 y 位小数四舍五入后的值 |
7 | sqrt(x) | 返回 x 的平方根 |
8 | truncate(x,y) | 返回数字 x 截断为 y 位小数的值 |
9 | ceil(x) | 返回大于或等于 x 的最小整数 |
10 | floor(x) | 返回小于或等于 x 的最大整数 |
11 | greatest(x1,x2…) | 返回集合中最大的值 |
12 | least(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、聚合函数
序号 | 数学函数 | 返回结果 |
---|---|---|
1 | avg() | 返回指定列的平均值 |
2 | count() | 返回指定列中非NULL的个数(插入的‘ ’不属于NULL,所也算一条记录) |
3 | min() | 返回指定列的最小值 |
4 | max() | 返回指定列的最大值 |
5 | sum() | 返回指定列的所有值之和 |
①用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、字符串函数
序号 | 字符串函数 | 返回值 |
---|---|---|
1 | trim() | 值去除格式后返回 |
2 | concat(x,y) | 将x与y进行拼接后返回 |
3 | substr(x,y) | 获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同 |
4 | substr(x,y,z) | 获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串 |
5 | length(x) | 返回字符串 x 的长度 |
6 | replace(x,y,z) | 将字符串 z 替代字符串 x 中的字符串 y |
7 | upper(x) | 将字符串 x 的所有字母变成大写字母 |
8 | lower(x) | 将字符串 x 的所有字母变成小写字母 |
9 | left(x,y) | 返回字符串 x 的前 y 个字符 |
10 | right(x,y) | 返回字符串 x 的后 y 个字符 |
11 | repeat(x,y) | 将字符串 x 重复 y 次 |
12 | space(x) | 返回 x 个空格 |
13 | strcmp(x,y) | 比较 x 和 y,返回的值可以为-1,0,1 |
14 | reverse(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 的字符串
以上是关于SQL函数(数学函数,聚合函数,字符串函数)的主要内容,如果未能解决你的问题,请参考以下文章
数据库开发基础-SQl Server 聚合函数数学函数字符串函数时间日期函数
SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换函数转换