SQL Server 聚合函数

        聚合函数用于对一组值进行计算并返回一个单一的值。聚合函数经常与查询语句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(数字表达式)

根据给定数字表达式是正、零或负返回10−1

SIGN(23)

SIGN(0)

SIGN(−9)

1

0

−1

RAND([种子值])

返回01之间的随机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(表达式,起始位置,长度)

返回表达式从指定起始位置开始,指定长度的部分,表达式可以是字符串、binarytext 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


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值