聚合函数用于对一组值进行计算并返回一个单一的值。聚合函数经常与查询语句SELECT一起使用。例如,设当前数据库拥有一个员工表employee,其中,有一个工资列salary,要统计所有员工的工资总和,可以使用以下的SELECT语句:
SELECT SUM(salary) FROM employee
常用聚合函数:
聚 合 函 数
|
功 能
|
AVG(表达式)
|
返回数据表达式(含有列名)的平均值
|
COUNT(表达式)
|
对表达式指定的列值进行计数,忽略空值
|
COUNT(*)
|
对表或组中的所有行进行计数,包含空值
|
MAX(表达式)
|
表达式中最大的值(文本数据类型中按字母顺序排在最后的值)。忽略空值
|
MIN(表达式)
|
表达式中最小的值(文本数据类型中按字母顺序排在最前的值)。忽略空值
|
SUM(表达式)
|
表达式值的合计
|
另:
数学函数:
函 数
|
功 能
|
示 例
|
返 回值
|
ABS(数字表达式)
|
返回数字表达式的绝对值
|
ABS(−1.0)
|
1.0
|
SQRT(float表达式)
|
返回float表达式的平方根
|
SQRT(2)
|
1.4142135623730951
|
SQUARE(float表达式)
|
返回float表达式的平方
|
SQUARE(2)
|
4.0
|
POWER(数字表达式,y)
|
返回数字表达式的y次方
|
POWER(2,6)
|
64
|
SIN(float表达式)
|
返回表达式给定角度(以弧度为单位)的正弦值
|
SIN(30*3.1416/180)
|
0.50000106036260283
|
COS(float表达式)
|
返回表达式给定角度(以弧度为单位)的余弦值
|
COS(30*3.1416/180)
|
0.86602479158293899
|
TAN(float表达式)
|
返回表达式给定角度(以弧度为单位)的正切值
|
tan(45*3.1416/180)
|
1.0000036732118496
|
LOG(float表达式)
|
返回给定float表达式的自然对数
|
LOG(2.7182)
|
0.99996989653910984
|
LOG10(float表达式)
|
返回给定float表达式的以10为底的对数
|
LOG10(10)
|
1.0
|
EXP(float表达式)
|
返回所给的float表达式的指数值
|
EXP(1)
|
2.7182818284590451
|
ROUND(数字表达式,长度)
|
返回数字表达式并四舍五入为指定的长度或精度
|
ROUND(123.9994,3)
ROUND(748.58, −2)
|
123.9990
700.00
|
CEILING(数字表达式)
|
返回大于或等于所给数字表达式的最小整数
|
CEILING(123.45)
CEILING(−123.45),
|
124.00
−123.00
|
FLOOR(数字表达式)
|
返回小于或等于所给数字表达式的最大整数
|
FLOOR(123.45)
FLOOR(−123.45)
|
123
−124
|
PI( )
|
返回π的常量值
|
PI( )
|
3.1415926535897931
|
RADIANS(数字表达式)
|
将数字表达式指定的角度值转换为弧度值
|
RADIANS(180.0)
|
3.141592653589793100
|
DEGREES(数字表达式)
|
将数字表达式指定的弧度值转换为角度值
|
DEGREES(3.1416)
|
180.000420918299430000
|
SIGN(数字表达式)
|
根据给定数字表达式是正、零或负返回1、0或−1
|
SIGN(23)
SIGN(0)
SIGN(−9)
|
1
0
−1
|
RAND([种子值])
|
返回0~1之间的随机float值。参数种子值可以省略
|
RAND(7)
|
0.71370379104047277
|
字符串函数:
函 数
|
功 能
|
示 例
|
返 回值
|
UPPER(字符表达式)
|
将指定的字符串转换为大写字符
|
UPPER('Abcd')
|
'ABCD'
|
LOWER(字符表达式)
|
将指定的字符串转换为小写字符
|
LOWER('HELLO')
|
'hello'
|
LTRIM(字符表达式)
|
删除指定的字符串起始的所有空格
|
LTRIM(' how are you')
|
'how are you'
|
RTRIM(字符表达式)
|
删除指定的字符串末尾的所有空格。
|
RTRIM('how are you ')
|
'how are you'
|
SPACE(整数表达式)
|
返回由重复的空格组成的字符串。空格数由整数表达式指定
|
'Hello'+SPACE(3)+'Zhang'
|
'Hello Zhang'
|
REPLICATE(字符表达式,整数表达式)
|
以整数表达式指定的次数重复字符表达式
|
REPLICATE('ab',3)
|
'ababab'
|
STUFF(字符表达式1,起始位置,长度,字符表达式2)
|
删除字符表达式1中从起始位置开始的由长度指定个数的字符,然后在删除的起始位置插入字符表达式2的值
|
STUFF('abcdef',2,3,'ijklmn')
|
'aijklmnef'
|
REVERSE(字符表达式)
|
返回字符表达式的反转
|
REVERSE('abc')
|
'cba'
|
ASCII(字符表达式)
|
返回字符表达式最左端字符的ASCII代码值
|
ASCII('A')
ASCII('Abc')
|
65
65
|
CHAR(整数表达式)
|
将整数表达式的值作为ASCII代码转换为对应的字符
|
CHAR(65)
|
'A'
|
STR(float表达式[,总长度[,小数位数]])
|
由数字数据转换为字符数据。总长度默认值为10。小数位数默认值为0
|
STR(3.1415926,8,4)
STR(3.1415926,5)
|
' 3.1416'
' 3'
|
LEN(字符表达式)
|
返回给定字符表达式的字符(而不是字节)个数,不包含尾随空格
|
LEN('abc')
LEN('abc ')
|
3
3
|
RIGHT(字符表达式,长度)
|
返回字符串中右边指定长度的字符
|
RIGHT('hello',3)
|
'llo'
|
LEFT(字符表达式,长度)
|
返回字符串中左边指定长度的字符
|
LEFT('hello',3)
|
'hel'
|
SUBSTRING(表达式,起始位置,长度)
|
返回表达式从指定起始位置开始,指定长度的部分,表达式可以是字符串、binary、text或 image类型的数据
|
SUBSTRING('hello',3,2)
SUBSTRING('hello',3,5)
|
'll'
'llo'
|
CHARINDEX(字符表达式1,字符表达式2[,起始位置])
|
查找并返回字符表达式1在字符表达式2中出现的起始位置,如果指定参数“起始位置”,则从该起始位置开始向后搜索
|
CHARINDEX('cd','abcdabcd')
CHARINDEX('cd','abcdabcd',4)
CHARINDEX('dc','abcdabcd')
|
3
7
0
|
REPLACE(字符表达式1,字符表达式2,字符表达式3)
|
用字符表达式3替换字符表达式1中出现的所有字符表达式2
|
REPLACE('abcdefghicde','cde','xxx')
|
'abxxxfghixxx'
|
事件和日期函数:
函 数
|
功 能
|
示 例
|
返 回值
|
GETDATE( )
|
返回当前系统日期和时间
|
GETDATE( )
|
2012-03-24 21:46:38.320
|
DATEADD(日期部分,数字,日期)
|
对指定日期的某一部分加上数字指定的数,返回一个新的日期。日期部分取值见表4-15
|
DATEADD(DAY,1,'1780-11-01')
DATEADD(MONTH,5,'1780-11-01')
|
11 2 1780 12:00AM
04 1 1781 12:00AM
|
DATEDIFF(日期部分,起始日期,终止日期)
|
返回指定的起始日期和终止日期之间的差额,日期部分规定了对日期的哪一部分计算差额。日期部分取值见表4-14
|
DATEDIFF
(MONTH,'1780-1-11','1780-11-01')
DATEDIFF
(YEAR,'1790-1-11','1780-11-01')
|
10
−10
|
DATENAME(日期部分,日期)
|
返回代表指定日期的指定日期部分,结果为字符类型
|
DATENAME(month,getdate())
|
08
(设当前为8月份)
|
DAY(日期)
|
返回指定日期的天数,结果为int类型
|
DAY('03/12/1998')
|
12
|
MONTH(日期)
|
返回指定日期的月份数,结果为int类型
|
MONTH('03/12/1998')
|
3
|
YEAR(日期)
|
返回指定日期的年份数,结果为int类型
|
YEAR('03/12/1998')
|
1998
|
分享到:
相关推荐
标题提到的"SqlServer自定义多参数聚合函数实例代码"就是针对这种情况提供的一种解决方案。 自定义聚合函数通常通过两种方式实现:T-SQL(Transact-SQL)或CLR(Common Language Runtime)。T-SQL方式适用于简单的...
http://yufeng521000.iteye.com/blog/2076607; 根据这篇BOLG的函数编译的DLL,方便大家直接使用; 里面有两个DLL分别是NET3.5,以及NET4.0,下载后根据BOLG以及数据库版本选择对应的DLL使用;
在描述中提到的“Sqlserver 2014 之 自定义字符串聚合函数”正是针对这个需求而展开的讨论。 在SQL Server 2014之前,如果要实现类似`STRING_AGG`的功能(这是在SQL Server 2017中引入的),我们需要创建自定义的...
在SQL Server中,标准的聚合函数如SUM、AVG、COUNT、COUNT(*)、MAX和MIN主要用于数值型数据的计算和统计。然而,当你需要对字符串进行聚合,例如将相同ID对应的多个字符串合并成一个,这些函数就无能为力了。这时,...
2. **创建SQL Server聚合函数**:在SQL Server中使用`sp_add_agg`存储过程注册这个托管代码。这一步需要提供DLL的路径、函数名称、输入和返回的数据类型等信息。 3. **测试和使用**:一旦自定义聚合函数注册成功,...
在SQL Server 2005中,用户定义的聚合函数(User-Defined Aggregates, UDA)是一项新功能,允许开发人员通过.NET Framework的公共语言运行库(Common Language Runtime, CLR)创建自定义的聚合操作。这项特性扩展了...
using Microsoft.SqlServer.Server; public class StringConcatenateAgg : SqlUserDefinedAggregate { private string _result = ""; public override void Accumulate(SqlString value) { if (!value.IsNull)...
21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL Server 2014COUNT和SUM()函数.mp4 24.SQL Server 2014 LEN()函数.mp4 25.SQL Server 2014随机数的产生.mp4 26....
整理SQL Server系统函数,包含聚合函数、配置函数、日期时间函数、数学函数、字符串等等。简单介绍各函数的使用方法(例子)及函数功能
SQL Server中的自定义函数是数据库开发中的重要工具,允许用户根据特定需求创建自己的函数,以扩展标准SQL的功能。本文将深入探讨SQL Server自定义函数的种类、用途、创建方法以及实际应用示例。 一、自定义函数的...
21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL Server 2014COUNT和SUM()函数.mp4 24.SQL Server 2014 LEN()函数.mp4 25.SQL Server 2014随机数的产生.mp4 26....
5. **聚合函数**: - `COUNT()`: 计算行数,可选参数`*`表示所有行,`column_name`表示非NULL值的数量。 - `SUM()`: 计算列的总和。 - `AVG()`: 计算列的平均值。 - `MAX()`, `MIN()`: 找到列的最大值和最小值。...
本篇文章将深入探讨如何使用聚合函数Pivot和Unpivot来实现这一目标,特别是针对SQL Server数据库。 首先,让我们了解什么是行转列。行转列就是将表格中的某列值变为新的列名,而原本的行数据则对应到这些新列中。举...
SQL CLR聚合函数是基于SQL Server 2005引入的SQL CLR编程技术开发的自定义聚合函数。这项技术允许开发者使用.NET框架编程语言(如C#或***)编写聚合逻辑,并在SQL Server中以CLR函数的形式进行部署和执行。这种聚合...
- **聚合函数**:如`COUNT()`、`SUM()`、`AVG()`、`MAX()`和`MIN()`,用于统计和分析数据集。 2. **系统函数**: - `@@IDENTITY`返回最后插入行的自动增长ID。 - `DB_NAME()`返回当前数据库名。 - `USER_NAME()...
- `SUM() OVER`、`AVG() OVER`等聚合函数:可以在特定窗口范围内执行聚合操作。 #### 三、性能调优策略 - **索引优化**:合理的索引可以显著提高查询效率,特别是在窗口函数涉及的表结构中。可以通过分析查询计划...
SQL Server 中提供了多种函数来帮助用户对数据进行处理和分析,这些函数可以分为多种类型,例如聚合函数、字符串函数、日期函数等。下面将对 SQL Server 函数进行详细的介绍。 聚合函数 聚合函数是 SQL Server 中...