• 聚合函数
• 数学函数
• 字符串函数
• 日期和时间函数
• 转换函数
一、聚合函数
聚合函数对一组值执行计算 , 并返回单个值 ,通常用 于数据统计。聚合函数经常与 SELECT
语旬的 G roup By 子句一起使用。除了 Count 以外 , 聚合函数都会忽略空值。 SQL Server 2016
中共有十多个聚合函数 ,其中常用的聚合函数如表 1 5.1 所示。
表 15.1 常用聚合函数及其功能
函数 | 说明 | 示例 |
Sum(X) | 返回表达式中所有值的和或仅非重复值的和 | Select 学号,姓名, Sum(成绩) As 总分 From XS Group By 学号,姓名 |
Avg(X) | 返回组中各值的平均值 | |
Min(X) | 返回表达式的最小值 | |
Max(X) | 返回表达式的最大值 | |
Count(X) | 返回组中的项数 | |
Dinstinct(expr) | 删 除指定集中的重复值,返回不重复记录 | Sel ect Dinstinct(班级) From XS |
二、数学函数
函数 | 说明 |
Abs(X) | 返回绝对值 |
pi() | 返回圆周率 |
power(x,y) | 返回x^y,其中 x 为数值表达式 |
Rand() | 返回0-1 的隧机 float值 |
Round(expr,len[,function]) | 将数字表达式四含五入到指定的长度或精度 |
CEILING(X) | 向上取整,大于或等于X的最小值,CEILING(5.4)=6 |
FLOOR(X) | 向下取整,小于或等于X的最大值,FLOOR(5.8)=5 |
Square(expr) | 返回表达式平方值 |
Sqrt(expr) | 返回表达式的平方根 |
三、三角函数
函数 | 说明 |
包括 Sin 、 Cos、Tan 和 Cot 四个三角函数和 Asin 、 Acos、 Atan 和 Atn2四个反三角函数 | 返回函数值,这里就不多说了 Select Sin(6) AS ' 正弦值 ' ; |
四、字符串函数
函数 | 说明 |
Ascii(expr) | 返回字符串最左侧字符的 ASCII 代码值 select ascii('S') ==>83 |
Charindex(str1,str2[,start]) | 返回字符串str2中出现str1的起始位置 Sel ect Charindex ( ' 2016' , ' SQL Server 2016 ' ) ==>12 |
Left(str,index) | 返回字符串中从左边开始指定个数的字符 |
Right(str,index) | 返回字符串中从右边开始指定个数的字符 |
Len(str) | 返回指定字符串表达式的字符数, 其中不包含尾随空格 |
Replace(str,str1,str2) | 用字符串str2替换字符串str中的字符串str1 |
Reverse(str) | 返回字符串str的逆序 |
str(expr) | 将数字数据转换为字符数据 Select 姓名+ ' 出生于 ' +Str(year( 出生日期) ) + ' 年 ' From Xs |
Substring(str,start,len) | 截取获取字符串的子串。 Sel ect Substring( ' SQL Server 2016' , 5 , 6) ==>Server |
五、日期相时间函数
函数 | 说明 |
Getdate() | 返回当前数据库系统的日期和时间,无参 |
Day(date) | Day 函数返回指定日期的"日",返回的结果为 int 型数据 Select cast(getdate() as date) , Day(Getdate()) ==>2017/11/12, 12 |
Month(date) | Month 函数返回指定 日期的月份,返回的结果为 int 型数据 |
Year(date) | Year 函数返回指定 日期的年份 ,返回的结果为 int 型数据 |
Datediff(datepart, startdate,enddate) | 返回两个指定日期的差值 Select datediff(day,' 2005-12-31 ' , ' 2006-01-02 ' ) ==>2 |
Dateadd(datepart, number, date) | 返回给定日期加上时间间隔后新的 datetime ,返回数据类型为 date 参数的数据类型 select cast(getdate() as date) as 今天, cast(dateadd(day,5,getdate()) as date) as 五天后 ==>2017/11/12, 2017/11/17 |
六、转换函数
函数 | 说明 |
cast(expr AS type) | 将表达式转为另一种数据类型 Sel ect Cast( 出生日期 AS char (10) ) From XS |
Covert(type,expr[,Style]) | Convert 函数与 Cast 函数的功能类似 , 将表达式由一种数据类型转换为另 一种数据类型 select Convert(char(10),getdate(),102)==>2019.05.11 |
七、其他函数
函数 | 说明 |
isnull(参数1,参数2) | 判断参数1是否为NULL,如果是,返回参数2,否则返回参数1。 select ISNULL(null,'helloword') 返回helloword字符串 |