SQL Server聚合函数和自定义函数

前言

在SQL server中不仅可以可以使用系统自带的函数(时间函数、聚合函数、字符串函数等等),还可以根据需要自定义函数。

一.聚合函数

聚合函数执行一个或多个值的计算并返回单个值。 聚合函数通常与SELECT语句的GROUP BY子句和HAVING子句一起使用。

1.SQL Server常用的聚合函数

编号聚合函数描述
1MAX()函数MAX()函数返回集合中非NULL值中的最大值。
2MIN()函数MIN()函数返回集合中非NULL值中的最小值。
3AVG()函数AVG()函数用于计算集合中非NULL值的平均值。
4COUNT()函数COUNT()函数返回集合中的行数,包括具有NULL值的行。
5SUM()函数SUM()函数返回集合中所有非NULL值的总和。
6STDEV()函数STDEV()函数返回所提供表达式的所有值的统计标准偏差,但基于数据总体的样本。
7VAR()函数VAR()函数根据指定总体的样本,返回表达式中值的统计方差。

2.SQL Server聚合函数语法

以下是聚合函数的语法:

aggregate_function_name(DISTINCT | ALL expression)

在这个语法中;

首先,指定要使用的聚合函数的名称,例如:AVG,SUM和MAX。
其次,如果只想在计算中考虑不同的值,则使用DISTINCT;如果在计算中考虑所有值,则使用ALL。 默认情况下,如果未指定任何修饰符,则使用ALL。
第三,expression可以是表的列,也可以是由具有算术运算符的多个列组成的表达式。

二.自定义函数

1.定义
用户自定义函数的类型:
1、标量值函数(返回一个标量值)

2、表格值函数(内联表格值函数、多语句表值函数,返回一个结果集即返回多个值)

2.基本原理

用户自定义函数 是一个例程,它接受参数、执行操作并返回该操作的结果。根据定义,结果可以是标量值(单个)或表。

a.优点

  1. 可以把复杂的逻辑嵌入到查询中。
  2. 可以为复杂的表达式创建新函数。
  3. 可以运用在一个表达式或 SELECT 语句的 FROM 子句中,并且还可以绑定到架构。

b.缺陷
该函数一旦误用会产生潜在的性能问题。必须针对WHERE子句的每一行执行的任何函数,不管是用户定义的函数还是系统函数,都将减慢执行速度。

3.举例说明

–自定义函数–创建函数

go
create function convert_sex
(
@sex bit
)
returns varchar(4)--返回的数据类型
as
begin
 declare @rsex varchar(4)
 if(@sex=1)
     select @rsex='男'
 else
     select @rsex='女'
	 
	 return @rsex
end
--调用方法
select *,dbo.convert_sex(Sex) from Customers

1显示为男生,2显示为女生
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值