arongsoft 发表于 2016-10-31 04:32:54

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(数字表达式)
  根据给定数字表达式是正、零或负返回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
页: [1]
查看完整版本: SQL Server 聚合函数