设为首页 收藏本站
查看: 1112|回复: 0

[经验分享] SQL Server 聚合函数

[复制链接]

尚未签到

发表于 2016-10-31 04:32:54 | 显示全部楼层 |阅读模式
聚合函数用于对一组值进行计算并返回一个单一的值。聚合函数经常与查询语句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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293422-1-1.html 上篇帖子: SQL Server 字符串函数 下篇帖子: SQL Server 视图概述
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表