数据库SQLServer的函数集合

一.聚合函数:

聚合函数对一组值执行计算并返回单一的值。除了 COUNT 以外,聚合函数忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用。”

聚合函数的5种:avg()平均值,sum()求和,count()数量,max()最大值,min()最小值

创建了一个表,来做个例子吧:

数据库SQLServer的函数集合

          avg:                                                          加where条件:                                                       加列名:

select Avg(core) from Student3     select Avg(core)  from Student3  where Id>10     select Avg(core) as 平均成绩  from                                                                                                                                                    Student3 where Id>10                                    

数据库SQLServer的函数集合数据库SQLServer的函数集合数据库SQLServer的函数集合

使用所有的聚合函数来看看效果吧

select Avg(core) as 平均成绩,count(core) as 人数,max(core) as 最高分, min(core) as 最高分,sum(core) as 总分  from Student3  where Id>10

数据库SQLServer的函数集合

+条件 group by:分组

select classes as 班级, Avg(core) as 平均成绩  from Student3  group by classes

数据库SQLServer的函数集合

+条件 order by:可以把分好组的排序

select classes as 班级, Avg(core) as 平均成绩  from Student3  group by classes  order by Avg(core)

数据库SQLServer的函数集合

+条件 having: 把统计出来的数据再删选

 select classes as 班级, Avg(core) as 平均成绩  from Student3  group by classes having Avg(core)>60

数据库SQLServer的函数集合

聚合函数还有一个筛选的条件是 case when   有兴趣的可以了解一下接下来的  select  case when 的用法

Case具有两种格式,简单Case函数和Case搜索函数。

1.简单case函数 +order by                                                               2.Case搜索函数 

select Name,classes,core,                                                     select  Name,classes,core,
case classes                                                                          case  
when 1 then '一班'                                                                  when core >60 then '没有及格,继续努力'
when 2 then '二班'                                                                  when core >80 then '你很优秀,不要骄傲'
else  '三班'                                                                              else  '及格'
end as '班级'                                                                           end  as '说明'
from Student3 order by classes                                             from Student3 

数据库SQLServer的函数集合  数据库SQLServer的函数集合

3.case 搜索函数+group by

数据库SQLServer的函数集合

4.case 搜索函数+having

数据库SQLServer的函数集合

二:转型函数:

1.convert:convert (类型,列名)

select convert (nvarchar(4),Name) as '名字',classes from Student3

数据库SQLServer的函数集合

select convert (nvarchar(2),Name) as '名字',classes from Student3

数据库SQLServer的函数集合

2.cast:cast ( 列名as 类型)

select cast ( Name as nvarchar(4)) as '名字',classes from Student3    

数据库SQLServer的函数集合

select cast ( Name as nvarchar(2)) as '名字',classes from Student3

数据库SQLServer的函数集合

三.日期函数:

1.GETDATE()                                    2.DATEADD(日期部分,number,date)            3.DATEDIFF(日期部分,date1,date2)

 select GETDATE();                           select DATEADD(dd, 5, getdate())               select DATEDIFF(mm,'2010-2-15','2019-02-17')

当前的系统日期                                                   加几天后的时间                                   日期之间差的月份

数据库SQLServer的函数集合数据库SQLServer的函数集合数据库SQLServer的函数集合

4.select DATENAME(dw,GETDATE())                 返回星期

5.select DATEPART(dw,GETDATE())                  返回一周的第几天

6.select YEAR(GETDATE())                                返回年份

7.select MONTH(GETDATE())                            返回月份

8.select DAY(GETDATE())                                  返回日期

下面的是别人整理好的,我拿过来用了声明地址连接:https://blog.csdn.net/sundna/article/details/89926586

四.数字函数:

对数字值执行代数运算。

  1. ABS(num_expr) 返回数值表达式的绝对值。
  2. ACOS(float_expr) 返回角(以弧度表示),它的余弦值近似于指定的浮点表达式。
  3. ASIN(float_expr) 返回角(以弧度表示),它的正弦值近似于指定的浮点表达式。
  4. ATAN(float_expr) 返回角(以弧度表示),它的正切值近似于指定的浮点表达式。
  5. ATN2(float_expr1, float_expr2) 返回角(以弧度表示),它的正切值在两个近似的浮点表达式之间。
  6. CEILING(num_expr) 返回大于或等于数值表达式的最小整数。
  7. COS(float_expr) 返回以浮点表达式表示的近似于指定角度(以弧度表示)的余弦三角函数的值。
  8. COT(float_expr) 返回以浮点表达式表示的近似于指定角度(以弧度表示)的余切三角函数的值。
  9. DEGREES(num_expr)返回数值表达式表示的弧度值对应的度值。
  10. EXP(float_expr) 根据指定的近似浮点表达式,返回指数值。
  11. FLOOR(num_expr) 返回小于或等于数值表达式的最大整数
  12. LOG(float_expr) 根据指定的近似浮点表达式,返回自然对数值。
  13. LOG10(float_expr) 根据指定的近似浮点表达式,返回以为底的对数。
  14. PI() 返回常量值.141592653589793
  15. POWER(num_expr,y) 返回幂为y的数值表达式的值。
  16. RADIANS(num_expr) 返回数值表达式表示的度值对应的弧度值。
  17. RAND([seed]) 随机返回的到之间的近似浮点值,可以对seed指定为整数表达式(可选)。
  18. ROUND(num_expr,length) 对数值表达式截取指定的整数长度,返回四舍五入后的值。
  19. SIGN(num_expr) 对正数执行+1操作,对负数和零执行-1操作。
  20. SIN(float_expr) 返回以浮点表达式表示的近似于指定角度(以弧度表示)的正弦三角函数的值。
  21. SQUARE(float_expr) 返回浮点表达式的平均值。
  22. SQRT(float_expr) 返回指定的近似浮点表达式的平方根。
  23. TAN(float_expr) 返回以浮点表达式表示的近似于指定角度(以弧度表示)的正切三角函数的值。

五. 字符串函数:

用于返回元数据或配置设置。

  1. COALESCE(expr1,expr2, xprN) 返回第一个非NULL表达式。
  2. COL_LENGTH('table_name','column_name') 返回列的长度。
  3. COL_NAME(table_id,column_id) 返回指定的表中的列名。
  4. DATALENGTH('expr') 返回任何数据类型的实际长度。
  5. DB_ID([‘database_name']) 返回数据库的标识号。
  6. DB_NAME([database_id]) 返回数据库的名称。
  7. GETANSINULL([‘database_name']) 返回数据库的默认空性(Nullability)。
  8. HOST_ID() 返回工作站的标识号。
  9. HOST_NAME() 返回工作站的名称。
  10. IDENT_INCR('table_or_view') 有新的记录添加入到表中时计数加。
  11. IDENT_SEED('table_or_view') 返回标识列的起始编号。
  12. INDEX_COL('table_name',index_id,key_id) 返回索引的列名。
  13. ISNULL(expr,value) 使用指定的值替换的NULL表达式。
  14. NULLIF(expr1,expr2) Expr1与Expr2相等时,返回Null。
  15. OBJECT_ID('obj_name') 返回数据库对象标识号。
  16. OBJECT_NAME('object_id') 返回数据库对象名。
  17. STATS_DATE(table_id,index_id) 返回上次更新指定索引的统计的日期。
  18. SUSER_SID([‘login_name']) 返回用户的登录标识号。
  19. SUSER_ID([‘login_name']) 返回用户的登录标识号。这个函数类似于SUSER_SID()函数,并且保留了向后的兼容性。
  20. SUSER_SNAME([server_user_id]) 返回用户的登录标识号。
  21. SUSER_NAME([server_user_id]) 返回用户的登录标识号。这个函数类似于SUSER_SNAME()函数,并且保留了向后的兼容性。
  22. USER_ID('user_name') 返回用户的数据库标识号。
  23. USER_NAME(['user_id']) 返回用户的数据库名称。

六.系统函数:

用于返回元数据或配置设置

  1. COALESCE(expr1,expr2, xprN) 返回第一个非NULL表达式。
  2. COL_LENGTH('table_name','column_name') 返回列的长度。
  3. COL_NAME(table_id,column_id) 返回指定的表中的列名。
  4. DATALENGTH('expr') 返回任何数据类型的实际长度。
  5. DB_ID([‘database_name']) 返回数据库的标识号。
  6. DB_NAME([database_id]) 返回数据库的名称。
  7. GETANSINULL([‘database_name']) 返回数据库的默认空性(Nullability)。
  8. HOST_ID() 返回工作站的标识号。
  9. HOST_NAME() 返回工作站的名称。
  10. IDENT_INCR('table_or_view') 有新的记录添加入到表中时计数加。
  11. IDENT_SEED('table_or_view') 返回标识列的起始编号。
  12. INDEX_COL('table_name',index_id,key_id) 返回索引的列名。
  13. ISNULL(expr,value) 使用指定的值替换的NULL表达式。
  14. NULLIF(expr1,expr2) Expr1与Expr2相等时,返回Null。
  15. OBJECT_ID('obj_name') 返回数据库对象标识号。
  16. OBJECT_NAME('object_id') 返回数据库对象名。
  17. STATS_DATE(table_id,index_id) 返回上次更新指定索引的统计的日期。
  18. SUSER_SID([‘login_name']) 返回用户的登录标识号。
  19. SUSER_ID([‘login_name']) 返回用户的登录标识号。这个函数类似于SUSER_SID()函数,并且保留了向后的兼容性。
  20. SUSER_SNAME([server_user_id]) 返回用户的登录标识号。
  21. SUSER_NAME([server_user_id]) 返回用户的登录标识号。这个函数类似于SUSER_SNAME()函数,并且保留了向后的兼容性。
  22. USER_ID('user_name') 返回用户的数据库标识号。
  23. USER_NAME(['user_id']) 返回用户的数据库名称。

七.文本和图像函数

通常返回有关文本和图像数据所需的信息。文本和图像数据是以二进制格式的形式进行存储的。

  1. TEXTPTR(col_name) 返回varbinary格式的文本指针值。对文本指针进行检查以确保它指向第一个文本页。
  2. TEXTVALID('table_name.col_name',text_ptr)检查给定的文本指针是否有效。返回表示有效,返回表示指针无效。