SQL 高级函数的使用

这篇博客介绍了SQL中的基本及高级函数用法,包括字符、日期和数学函数,如len、getdate、dateadd和ceiling等。同时,讲解了如何进行特定数值范围的查询,如按年、月、日设定条件。还探讨了聚合函数count、sum、avg、max和min的应用,并强调了它们与group by子句的结合使用,以及where和having条件的区别。内容深入浅出,鼓励灵活运用。

下面这些都是前面学的函数
-- 字符函数
--      len 字符的个数
--      charindex 某个字符的位置
--      replace 替换
--      ltrim,rtrim 去除空格
--      left,right 取几个字符
--      upper,lower 大小写
-- 日期函数
--      getdate() 当前日期
--      dateadd 在某个日期上增加xx单位
--          dateadd(dd,2,getdate())
--      datediff 求两个日期的差值
--          datediff(mm,'2020/1/1','2022/2/1')
--      year,month,day 取年月日
-- 数学函数
--      ceiling 向上取整
--      floor 向下取整
--      round 四舍五入
--      abs 绝对值

高级函数:

因为表已经提前建好了,所以我们直接就展示所有数据,有编号、名字、性别、出生日期和班级

 1.查看特定数值的数据

select * from student where year(sbirthday)=1975;

输出结果

 

这个是查询某个时间里的年等于1975的数据,也可以是大于或者小于某个数值的数据,不等也行

2.查看特定数值的范围内的数值

1975年5-11月的

select * from student
where year(sbirthday)=1975
and month(sbirthday) between 5 and 11;

输出结果

 年、月、日都能够设置条件,也能叠加

比如1975年1-5月5-20日的

select * from student
where year(sbirthday)=1975
and month(sbirthday) between 1 and 5
and day(sbirthday) between 5 and 20;

输出结果

 聚合函数:

1.count() 计算次数

多少个人

select count(*) from student;

输出结果

表中有六个数据

也可加条件,比如男有多少个

select count(*) from student where ssex='男';

输出结果

 有4个男,也可更换条件查看其他的数据,比如查看1975年的有几个

select COUNT(*) from student
where year(sbirthday)=1975

输出结果

 2.sum 求和

sum求某个列的和,但是只能数字求和,字符串是不能够求和的

3.avg 求平均值

avg求某个列的平均值,与sum相同,只能用于数字,不能用于字符串

4.max 最大、min 最小

max求某个列的最大值,也是只能用于数字

min求某个列的最小值,只能用于数字

5.聚合函数常和分组函数group by结合使用

分组 group by
select 的后面只能出现聚合函数和分组依据
原因:其他数据存在多个值  无法判断该取值哪一个值

group by 可以和聚合函数以及其他函数结合使用

但是group by 后面不能用where条件,要用having条件

where条件与having条件用法一样

总结:高级函数与函数的用法一定要灵活,不要太过死板,在规格允许的条件下做到不拘一格

在不拘一格的条件下做到中规中矩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值