《数据库管理与编程技术》第7章函数.ppt
《《数据库管理与编程技术》第7章函数.ppt》由会员分享,可在线阅读,更多相关《《数据库管理与编程技术》第7章函数.ppt(74页珍藏版)》请在三一办公上搜索。
1、数据库管理与编程技术,第7章 函数,第7章 函数,7.1 系统提供的内置函数7.2 用户自定义函数,7.1 系统提供的内置函数,7.1.1 聚合函数 7.1.2 日期和时间函数 7.1.3 数学函数 7.1.4 字符串函数 7.1.5 类型转换函数,7.1.1 聚合函数,1.AVG:返回组中值的平均值。空值将被忽略。2.COUNT:返回组中项目的数量3.COUNT_BIG:返回组中项目的数量。COUNT_BIG 的使用与 COUNT 函数相似。它们之间的唯一差别是它们的返回值:COUNT_BIG 总是返回 bigint 数据类型值,而 COUNT 则总是返回 int 数据类型值。4.MAX:返
2、回表达式的最大值。5.MIN:返回表达式的最小值。,聚合函数(续),6.SUM:返回表达式中所有值的和。SUM 只能用于数字列。空值将被忽略。7.STDEV:返回给定表达式中所有值的统计标准偏差。8.VAR:返回给定表达式中所有值的统计方差。,示例,例1.返回 titles 表中所有版税(royalty)费用的标准偏差。USE pubsSELECT STDEV(royalty)FROM titles,示例,例2.返回 titles 表中所有版税(royalty)值的方差。USE pubsSELECT VAR(royalty)FROM titles,7.1.2 日期和时间函数,这些函数对日期和时
3、间输入值执行操作,并返回一个字符串、数字值或日期和时间值。,1.GETDATE(),返回类型:datetime 示例 A.用 GET DATE 返回当前日期和时间SELECT GETDATE()B.在 CREATE TABLE 语句中使用 GETDATE()作为列的默认值,2DATEADD,在向指定日期加上一段时间的基础上,返回新的 datetime 值。语法:DATEADD(datepart,number,date)Datepart的形式日期部分 缩写 日期部分 缩写 Year yy,yyyy Week wk,ww quarter qq,q Hour hh Month mm,m minute
4、 mi,n dayofyear dy,y second ss,s Day dd,d millisecond ms,示例,查询 pubs 数据库中当前发布日期加上21天后的日期。SELECT DATEADD(day,21,pubdate)AS timeframeFROM titles,3DATEDIFF,返回跨两个指定日期的日期和时间边界数。语法:DATEDIFF(datepart,startdate,enddate)返回类型:integer 注释:结果是 enddate 减去startdate。如果 startdate 比 enddate 晚,返回负值。,示例,确定在 pubs 数据库中图书发
5、布日期和当前日期间的天数。SELECT DATEDIFF(day,pubdate,getdate()AS no_of_days FROM titles,4DATENAME,返回代表指定日期的指定日期部分的字符串描述。语法:DATENAME(datepart,date)返回类型:nvarchar,示例,从 GETDATE 返回的日期中提取月份名。SELECT DATENAME(month,getdate()AS Month Name,5DATEPART,返回代表指定日期的指定日期部分的整数。语法:DATEPART(datepart,date)返回类型:int,示例,显示 GETDATE 及 DA
6、TEPART 的输出。SELECT DATEPART(year,GETDATE()AS Current year,例2也可以用DATEPART函数返回的结果作为分组依据条件。例:对Northwind数据库中的Employees表统计每年招聘的雇员总数。,USE NorthwindSELECT DATEPART(yy,HireDate)AS Year,COUNT(*)AS NumberOfHires FROM Employees GROUP BY DATEPART(yy,HireDate),6DAY,返回代表指定日期的天的日期部分的整数语法:DAY(date)返回类型:int此函数等价于 DAT
7、EPART(dd,date)。示例:返回从日期 03/12/1998 中的日。SELECT DAY(03/12/1998)AS Day Number,7MONTH,返回代表指定日期月份的整数。语法:MONTH(date)返回类型:intMONTH 等价于 DATEPART(mm,date)。示例:从日期 03/12/1998 中返回月份数。SELECT Month Number=MONTH(03/12/1998),8YEAR,返回表示指定日期中的年份的整数。语法:YEAR(date)返回类型:int此函数等价于 DATEPART(yy,date)。示例:从日期 03/12/1998 中返回年份
8、数。SELECT Year Number=YEAR(03/12/1998),7.1.3 数学函数,1ABS返回给定数字表达式的绝对值。语法:ABS(numeric_expression)2PI返回 PI 的常量值。语法:PI()返回类型:float示例:返回 PI 值。SELECT PI(),数学函数(续),3POWER返回给定表达式乘指定次方的值。语法:POWER(numeric_expression,y)返回类型:与 numeric_expression 相同。,数学函数(续),4SQUARE返回给定表达式的平方。语法:SQUARE(float_expression)返回类型:float
9、示例:返回半径为 1 英寸、高为 5 英寸的圆柱容积。DECLARE h float,r floatSET h=5SET r=1SELECT PI()*SQUARE(r)*h AS Cyl Vol,数学函数(续),5SQRT返回给定表达式的平方根。语法:SQRT(float_expression)返回类型:float,示例,返回 1.00 到 10.00 之间的数字的平方根。DECLARE myvalue floatSET myvalue=1.00WHILE myvalue 10.00 BEGIN SELECT SQRT(myvalue)SELECT myvalue=myvalue+1 END
10、,7.1.4 字符串函数,1ASCII返回字符表达式最左端字符的 ASCII 代码值。语法:ASCII(字符串表达式)返回类型:int例:返回字符串ASCII中第一个字母的ASCII编码值。SELECT ASCII(ASCII)结果为:65,7.1.4 字符串函数,2CHAR将 int ASCII 代码转换为字符的字符串函数。语法:CHAR(integer_expression)参数:integer_expression:介于 0 和 255 之间的整数。如果整数表达式不在此范围内,将返回 NULL 值。返回类型:char(1)长度为1的字符,3CHARINDEX,返回字符串中指定表达式的起始
11、位置。语法:CHARINDEX(expression1,expression2,start_location)expression1:一个表达式,其中包含要寻找的字符的次序。expression2:一个表达式,通常是一个用于搜索指定序列的列。start_location:在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,或者是一个负数或零,则将从 expression2 的起始位置开始搜索。返回类型:int,如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。,示例,SEL
12、ECT CHARINDEX(wul,rrertwulrt)SELECT CHARINDEX(wul,rrertwulrt,8),示例,例3:显示了当 expression2 内找不到 expression1 时的结果集。SELECT CHARINDEX(wondrous,notes)FROM titlesWHERE title_id=TC3218,4LEFT,返回从字符串左边开始指定个数的字符。语法:LEFT(character_expression,integer_expression)返回类型:varchar,示例,A.返回每个书名最左边的 5 个字符。SELECT LEFT(title,
13、5)FROM titlesORDER BY title_id B.使用 LEFT 函数返回字符串 abcdefg 最左边的 2 个字符。SELECT LEFT(abcdefg,2),5RIGHT,返回字符串中从右边开始指定个数的字符。语法:RIGHT(character_expression,integer_expression)返回类型:varchar,示例,返回每个作者名字中最右边的五个字符。SELECT RIGHT(4235565632,5),6LEN,返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。语法:LEN(string_expression)返回类型:int,示
14、例,Select len(4235565632)10Select len(潍坊学院)4Select len(潍坊1234学院)8,7SUBSTRING,返回字符或表达式的一部分。语法:SUBSTRING(expression,start,length)返回类型:字符数据,示例,该查询在一列中返回 authors 表中的姓氏,在另一列中返回 authors 表中的名字首字母。SELECT au_lname,SUBSTRING(au_fname,1,1)FROM authorsORDER BY au_lname,8LOWER,将大写字符数据转换为小写字符数据后返回字符表达式。语法:LOWER(ch
15、aracter_expression)返回类型:varchar 例:SELECT LOWER(AbcdeFG)结果为:abcdefg,9UPPER,返回将小写字符数据转换为大写的字符表达式。语法:UPPER(character_expression)返回类型:varchar 例:SELECT LOWER(AbcdeFG)结果为:ABCDEFG,10LTRIM,删除起始空格后返回字符表达式。语法:LTRIM(character_expression)返回类型:varchar,示例,删除字符变量中的起始空格。DECLARE string_to_trim varchar(60)SET string_
16、to_trim=Five spaces are at the beginning of this string.SELECT Here is the string without the leading spaces:+LTRIM(string_to_trim),11RTRIM,截断所有尾随空格后返回一个字符串。语法:RTRIM(character_expression)返回类型:varchar,示例,例1:使用 RTRIM 删除字符变量中的尾随空格。DECLARE string_to_trim varchar(60)SET string_to_trim=Four spaces are aft
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库管理与编程技术 数据库 管理 编程 技术 函数
链接地址:https://www.31ppt.com/p-2865090.html