函数
1.什么是函数?
SQL 中的函数一般是在数据上执行的,可以很方便地转换和处理数据。一般来说,当我们从数据表中检索出数据之后,就可以进一步对这些数据进行操作,得到更有意义的结果,比如返回指定条件的函数,或者求某个字段的平均值等。
2.函数的作用是什么?
它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性
3.有哪些函数?
函数分为系统函数和自定义函数。
系统函数一般使用的多的是日期函数和聚合函数。自定义函数需要我们通过自己来进行编写,来达到我们的要求。
4.怎么使用和创建自定义函数?
1.系统函数
首先创建一个测试表
Goods表(商品表):
ID | Name | Price | Remark |
---|---|---|---|
1 | 苹果 | 10.00 | 无 |
2 | 梨子 | 15.00 | 无 |
3 | 西瓜 | 5.00 | 无 |
(1)日期函数:
select GETDATE() 当前日期
select DATEADD(DAY,10,GETDATE()) --函数在日期中添加或减去指定的时间间隔。
select DATEDIFF(day,2020-6-22,GETDATE()) --函数返回两个日期之间的时间。
执行结果
(2)聚合函数:
select count(*) 总数量 from Goods
select MAX(Price) 价格最高 from Goods
select MIN(Price) 价格最低 from Goods
select AVG(Price) 平均价格 from Goods
select SUM(Price) 价格总和 from Goods
执行结果
2.自定义函数
首先创建一个测试表
Goods表(商品表):
ID | Name | Sex |
---|---|---|
1 | 黄晓明 | True |
2 | 邓超 | True |
3 | 郑凯 | True |
4 | 陈赫 | True |
5 | 李金铭 | False |
1)语法
create function Sex
(
参数名 参数类型
)
returns varchar(4) --返回类型
as
begin
--执行语句块(需求内容)
end
2)使用和调用
--使用
create function Sex
(
@Sex bit
)
returns varchar(4)
as
begin
declare @Rsex varchar(4)
if(@Sex = 'True')
select @Rsex='男'
else
select @Rsex='女'
return @Rsex
end
--调用
select *,dbo.Sex(Sex) from [dbo].[Customer]
执行结果