下面这些都是前面学的函数
-- 字符函数
-- 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条件用法一样
总结:高级函数与函数的用法一定要灵活,不要太过死板,在规格允许的条件下做到不拘一格
在不拘一格的条件下做到中规中矩。
这篇博客介绍了SQL中的基本及高级函数用法,包括字符、日期和数学函数,如len、getdate、dateadd和ceiling等。同时,讲解了如何进行特定数值范围的查询,如按年、月、日设定条件。还探讨了聚合函数count、sum、avg、max和min的应用,并强调了它们与group by子句的结合使用,以及where和having条件的区别。内容深入浅出,鼓励灵活运用。
869

被折叠的 条评论
为什么被折叠?



