书签 分享 收藏 举报 版权申诉 / 153
上传文档赚钱

类型数据库系统管理课件(王岚主编)第六章.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2776728
  • 上传时间:2022-05-25
  • 格式:PPT
  • 页数:153
  • 大小:1.50MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库系统管理课件(王岚主编)第六章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 系统管理 课件 主编 第六
    资源描述:

    1、数据库基础第六章第六章 T-SQL语言程序设计语言程序设计数据库基础【本章要点【本章要点】本章将介绍T-SQL (Transact-SQL)程序设计的基本知识。T-SQL作为嵌入在SQL Server中的结构化查询语言,对标准SQL进行了扩展,功能强大、简单易学。同其他程序设计语言一样,T-SQL也有自己的数据类型、运算符、表达式以及流程控制语句等相关语法要求,本章将对这些内容进行详细的介绍。数据库基础第六章第六章 T-SQL语言程序设计语言程序设计6.1 数据类型、常量和变量6.2 运算符和表达式6.3 流程控制语句6.4 函数数据库基础6.1 数据类型、常量和变量数据类型、常量和变量6.1

    2、.1 数据类型6.1.2 常量6.1.3 变量数据库基础6.1.1 数据类型数据类型从大的方面来说SQL Server 2005中包括系统数据类型和用户自定义数据类型。 在前面的章节中对系统数据类型已经进行了详细的介绍,这部分将只介绍用户自定义数据类型。用户自定义数据类型基于系统提供的基本数据类型,并不是一种真正意义上的数据类型,只是提供了一种提高数据库内部元素和基本数据类型之间一致性的机制。通过使用用户自定义数据类型能够简化对常用规则和默认值的管理。数据库基础1.创建用户自定义数据类型创建用户自定义数据类型在SQL Server中可利用系统存储过程和使用图形化界面两种方式来创建用户自定义数据

    3、类型。(1)使用系统存储过程来创建用户自定义数据类型命令格式如下:sp_addtype typename = type, phystype = system_data_type , nulltype = null_type , owner = owner_name 数据库基础1.创建用户自定义数据类型创建用户自定义数据类型各参数的含义如下: typename = type:用户自定义数据类型的名称。 phystype = system_data_type:用户定义的数据类型所基于的系统数据类型或SQL Server提供的数据类型。 nulltype = null_type:用户自定义数据类型处

    4、理空值的方式。null_type的取值为NULL、NOT NULL或NONULL,默认值为NULL。 owner = owner_name:指定新数据类型的创建者或所有者,若没有指定,则为当前用户。数据库基础1.创建用户自定义数据类型创建用户自定义数据类型例6.1 为图书管理数据库创建一个不允许为空值的book_code用户自定义数据类型。USE 图书管理GOEXEC sp_addtype book_code,char(8),NOT NULLGO需要说明的是,在char(8)上加了单引号,是因为它包含了标点符号(括号)。数据库基础1.创建用户自定义数据类型创建用户自定义数据类型(2)采用图形化

    5、界面来创建用户自定义数据类型仍以为图书管理数据库创建一个不允许为空值的book_code用户自定义数据类型为例进行讲解。步骤如下:1、打开Microsoft SQL Server Management Studio窗口对象资源管理器窗口数据库图书管理可编程性类型右击类型节点新建用户定义数据类型。2、如图6.1所示,打开新建用户定义数据类型窗口,在名称字段输入book_code,在数据类型下拉列表中选择char数据类型,在长度框中输入8,保留允许空值为取消复选状态。数据库基础1.创建用户自定义数据类型创建用户自定义数据类型图6.1 新建用户自定义数据类型窗口数据库基础1.创建用户自定义数据类型创

    6、建用户自定义数据类型3、设置完毕后,单击确定按钮,则创建了用户定义数据类型book_code。数据库基础2.删除用户自定义数据类型删除用户自定义数据类型对于不再使用的用户定义数据类型,可以将其删除。同创建时一样,删除用户自定义数据类型也可以采用系统存储过程和图形化界面两种方式。数据库基础2.删除用户自定义数据类型删除用户自定义数据类型(1)使用系统存储过程删除用户定义数据类型命令格式如下:sp_droptype typename=typetype用户自定义数据类型的名称。数据库基础2.删除用户自定义数据类型删除用户自定义数据类型例6.2 删除book_code用户定义数据类型。USE 图书管理

    7、GOEXEC sp_droptype book_codeGO数据库基础2.删除用户自定义数据类型删除用户自定义数据类型(2)使用图形化界面删除用户定义数据类型,步骤如下:1、在Microsoft SQL Server Management Studio中找到需要删除的用户定义数据类型,在这里的具体操作为打开Microsoft SQL Server Management Studio窗口对象资源管理器窗口数据库图书管理可编程性类型用户定义数据类型book_code右击选择删除。2、出现如图6.2所示的删除对象窗口,单击确定按钮,则将其删除。数据库基础2.删除用户自定义数据类型删除用户自定义数据类

    8、型图6.2 删除对象窗口数据库基础6.1 数据类型、常量和变量数据类型、常量和变量6.1.1 数据类型6.1.2 常量6.1.3 变量数据库基础6.1.2 常量常量在程序运行中值保持不变的数据称为常量。常量实际上是表示特定数据值的符号,格式取决于具体的数据类型,通常分为:字符串常量、整型常量、日期时间常量、实型常量、货币常量和全局唯一标识符。数据库基础1.字符串常量字符串常量字符串常量分为ASCII字符串常量和Unicode 字符串常量。ASCII字符串常量括在单引号内并包含字母数字字符(a-z、A-Z 和 0-9)以及特殊字符,如感叹号 (!)、at 符 () 和数字号 (#)等。数据库基础

    9、1.字符串常量字符串常量如果已为某个连接将 QUOTED_IDENTIFIER 选项设置成 OFF,则字符串也可以使用双引号括起来,但 Microsoft SQL 本机客户端提供程序和 ODBC 驱动程序将自动使用 SET QUOTED_IDENTIFIER ON。因此建议使用单引号。 如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号。对于嵌入在双引号中的字符串则不需要这样做。空字符串用中间没有任何字符的两个单引号表示。 数据库基础1.字符串常量字符串常量引号表示。 ASCII字符串常量示例: helloyours bookX is 50%数据库基础1.字符串常量字符

    10、串常量Unicode 字符串的格式与ASCII字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的区域语言),并且N 前缀必须是大写字母。将上面的ASCII字符串常量改为Unicode 字符串常量,则如下所示:NhelloNyours bookNX is 50%数据库基础2.整型常量整型常量按照整型常量的不同表示方式,又可分为二进制整型常量和十进制整型常量。(1)二进制整型常量二进制常量具有前辍0 x,通常采用十六进制数字字符串表示。这些常量不使用引号括起。例如:0 xEA0 x23EF0 x(表示空的常量)数据库基础2.整型常量整型常量(2)十进制整型常量十进制整型常量即

    11、不带小数点的十进制数,且不需要使用引号括起来。例如:2376 -1200 +3775数据库基础3. 日期时间常量日期时间常量日期时间常量用单引号将表示日期时间的字符串括起来构成。SQL Server中提供了专门的日期和时间数据类型,可以识别多种格式的日期和时间。字母日期格式,例:July 20, 2009、20- July -2009数字日期格式,例:5/12/2008、2008-08-25、未分隔的字符串格式,例:20021207、常见的时间格式如下:10:11:06、08:25 AM数据库基础4. 实型常量实型常量实型常量有定点表示和浮点表示两种方式,不需要用单引号括起来。(1)定点表示的

    12、实型常量由包含小数点的数字字符串组成。例如:1123.6204 +23464545.2234-1132456432.10数据库基础4. 实型常量实型常量(2)浮点表示的实型常量使用科学记数法来表示。例如:305.5E5 +223E-3-42E5数据库基础5. 货币常量货币常量货币常量即为money 常量,是以”$”作为前缀的一个整型或实型常量数据,不需扩在单引号中。例如:$642923-$370.59+$66578.733数据库基础6. 全局唯一标识符全局唯一标识符全局唯一标识符是SQL Server根据计算机网络适配器地址和主机CPU时钟产生的唯一号码生成的,可以使用字符或二进制字符串格式指

    13、定。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF0 xff19966f868b11d0b42d00c04fc964ff数据库基础6.1 数据类型、常量和变量数据类型、常量和变量6.1.1 数据类型6.1.2 常量6.1.3 变量数据库基础6.1.3 变量变量变量就是在程序执行过程中其值可以改变的量。可以利用变量存储程序执行过程中涉及到的数据,如接收用户输入的数值、计算的结果等。声明变量时需要指定变量名及数据类型,变量名用于标识该变量,数据类型确定了该变量存放值的格式及允许的运算。数据库基础6.1.3 变量变量为变量命名应使用常规标识符,即以字母、下划线 (_)

    14、、at符号()或数字符号(#)开头,后续接字母、数字、at符号、美元符号($)、下划线的字符序列。不允许嵌入空格或其他特殊字符。数据库基础6.1.3 变量变量Transact-SQL语言中的变量有两种:一种是全局变量,它们是由系统预先定义好的;另外一种是局部变量,是由用户根据需要自己定义的。数据库基础1.全局变量全局变量全局变量以两个字符开头,由系统定义和维护。用户只能使用全局变量,不能对它们进行修改。实际上他们不是变量,不具备变量的行为,而是系统函数,语法遵循函数的规则。为了和以前的版本兼容,这里仍称为全局变量。表6.1中列出了几个在SQL Server中常用的全局变量。数据库基础1.全局变

    15、量全局变量表6.1 SQL Server中常用的全局变量全局变量含义ERROR前一条SQL语句报告的错误号FETCH_STATUS游标中上一条FETCH语句的状态IDENTITY最新插入的标识值NESTLEVEL当前执行存储过程的嵌套级别ROWCOUNT最新SQL语句所影响的行数SPID当前进程IDSERVERNAME本地服务器的名称TRANCOUNT事务嵌套的级别TRANSTATE事务的当前状态VERSIONSQL Server版本信息数据库基础1.全局变量全局变量例6.3使用VERSION查看SQL Server版本信息。结果如图6.3所示。Select VERSION数据库基础1.全局变

    16、量全局变量图6.3 查看版本信息数据库基础1.全局变量全局变量例6.4使用ROWCOUNT查看前一条命令影响的行数。结果如图6.4所示。Select ROWCOUNT数据库基础1.全局变量全局变量图6.4使用ROWCOUNT查看前一条命令影响的行数数据库基础2.局部变量局部变量局部变量是用户在使用T-SQL语言的过程中根据需要定义的,它的作用范围仅限于定义此变量的过程内部。使用DECLARE语句定义局部变量,并在其名称前加上“”标志。定义局部变量的语法形式如下:DECLARE local_variable data_type n数据库基础2.局部变量局部变量其中local_variable:用

    17、于指定局部变量的名称;data_type:用于设置局部变量的数据类型及其大小,可以是由系统提供数据类型,也可以为用户定义的数据类型,但不能是text、ntext或image数据类型。数据库基础2.局部变量局部变量创建局部变量之后,初始值为NULL,如果想要设定局部变量的值,必须使用SET命令或者SELECT命令。其语法形式为:SET local_variable = expression 或者SELECT local_variable = expression ,.n 其中,参数local_variable是给其赋值并声明的局部变量,参数expression是任何有效的SQL Server 2

    18、005表达式。数据库基础2.局部变量局部变量例6.5创建局部变量int_s并赋值,然后输出其值。结果如图6.5所示。 declare int_s intset int_s=100select int_s数据库基础2.局部变量局部变量图6.5使用set为局部变量赋值数据库基础2.局部变量局部变量例6.6查询读者表,将返回的记录数赋给局部变量M_count,并显示结果。结果如图6.6所示。declare M_count intselect M_count=count(*)from 读者select M_count数据库基础2.局部变量局部变量图6.6使用select为局部变量赋值数据库基础第六章第

    19、六章 T-SQL语言程序设计语言程序设计6.1 数据类型、常量和变量6.2 运算符和表达式6.3 流程控制语句6.4 函数数据库基础6.2 运算符和表达式运算符和表达式运算符是一种符号,实现了运算功能,能将数据按照运算符的功能定义进行计算,产生新的结果。在SOL Server 2005中运算符可以分为如下几种:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串连接运算符和一元运算符。在SOL Server 2005中表达式可以分为简单表达式和复杂表达式两种。简单表达式可以只是一个常量、变量、列名或函数;复杂表达式是由运算符连接起来的两个或多个简答表达式构成的。数据库基础6.2 运

    20、算符和表达式运算符和表达式6.2.1 算数运算符6.2.2 赋值运算符6.2.3 位运算符6.2.4 比较运算符6.2.5 逻辑运算符6.2.6字符串连接运算符6.2.7一元运算符 6.2.8运算符的优先级数据库基础6.2.1 算数运算符算数运算符算术运算符对两个表达式执行数学运算,这两个表达式可以是任何的数值数据类型。算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取模)五种运算。其中+ (加) 和(减) 运算符也可用于对 datetime 及 smalldatetime 值进行算术运算。 数据库基础6.2.1 算数运算符算数运算符例6.7将图书表中单价大于20的书籍按九折重新计算

    21、单价。SELECT 书名,单价,单价*0.9 实际价格 FROM 图书WHERE 单价20数据库基础6.2.1 算数运算符算数运算符运行结果如图6.7所示。本例通过算术运算计算出了单价大于20的书籍的实际价格。如果表达式中有多个算术运算符,则先计算乘、除,然后是取模运算,最后是加、减运算。如果表达式中的算术运算符都有相同的优先顺序,则按从左到右进行计算,括号中的表达式比其他所有运算都要优先进行计算。数据库基础6.2.1 算数运算符算数运算符图6.7使用乘运算计算实际价格数据库基础6.2.2 赋值运算符赋值运算符等号 (=) 是T-SQL中唯一的赋值运算符。在下面的示例中,将创建一个 intNu

    22、m变量,然后赋值运算符将 intNum设置为表达式返回的值。数据库基础6.2.2 赋值运算符赋值运算符例6.8使用赋值运算符为变量赋值。DECLARE intNum intSET intNum=5*(32+7)SELECT intNum执行后intNum中的值为195。数据库基础6.2.3 位运算符位运算符位运算符在两个表达式之间执行位操作,这两个表达式的类型可以是整型数据或二进制数据(image数据类型除外),但要求在位运算符左右两侧的操作数不能同时是二进制数据。位运算符包括&(按位与)、|(按位或)、(按位异或),如表6.2所示。数据库基础6.2.3 位运算符位运算符运算符运算规则&两个位

    23、均为1时,结果为1,否则为0|只要一个位为1,结果为1,否则为0两个位值不同时,结果为1,否则为0表6.2 位运算符数据库基础6.2.3 位运算符位运算符例6.9对两个整型变量intNum1和intNum2进行按位运算。DECLARE intNum1 int,intNum2 intSET intNum1=8,SET intNum2=-2SELECT intNum1&intNum2 与运算,intNum1|intNum2 或运算, intNum1intNum2 异或运算在T-SQL中先把整形数据转换乘二进制数据,然后再进行按位运算,结果如图6.8。数据库基础6.2.3 位运算符位运算符图6.8位

    24、运算数据库基础6.2.4 比较运算符比较运算符比较运算符(又称关系运算符),用于测试两个表达式的值之间的关系,其运算结果为布尔值,可以为三种之一:TRUE、FALSE 及 UNKNOWN。当 SET ANSI_NULLS 为 ON 时,带有一个或两个 NULL 表达式的运算符返回 UNKNOWN。当 SET ANSI_NULLS 为 OFF 时,上述规则同样适用,但当两个表达式均为 NULL时,则等号 (=) 运算符返回 TRUE。如表6.3所示,位SQL Server 2005中可以使用的比较运算符。数据库基础6.2.4 比较运算符比较运算符运算符含义=相等大于=大于等于=小于等于、!=不等

    25、于!不大于表6.3 比较运算符数据库基础6.2.4 比较运算符比较运算符例6.10查询单价大于15小于30的图书的详细信息。SELECT *FROM 图书WHERE 单价15 and 单价, =, =, , !=, !, !25SELECT 平均单价大于25元ELSE SELECT 平均单价不大于25元数据库基础2.CASE语句语句CASE语句用于多重选择的情况。可以根据条件表达式的值进行判断,并将其中一个满足条件的结果表达式返回。CASE语句按照使用形式的不同,可以分为简单CASE语句和搜索CASE语句。简单CASE语句的语法形式如下:CASE input_expressionWHEN wh

    26、en_expression THEN result_expression .n ELSE else_result_expressionEND 数据库基础2.CASE语句语句执行过程为:先计算CASE后面的表达式的值,然后将其与WHEN后面的表达式逐个进行比较,若相等则返回THEN后面的表达式,否则返回ELSE后面的表达式。数据库基础2.CASE语句语句例6.14使用简单CASE将图书管理数据库中部分读者的单位信息重新命名。SELECT CASE 单位 WHEN 计算机系 THEN 计算机科学与技术系 WHEN 电子系 THEN 电子信息系 WHEN 数学系 THEN 应用数学系END AS 单

    27、位,姓名 FROM 读者数据库基础2.CASE语句语句搜索CASE语句的语法形式如下:CASEWHEN Boolean_expression THEN result_expression .n ELSE else_result_expressionEND执行过程为:如果WHEN后面的逻辑表达式为真,则返回THEN后面的表达式,然后判断下一个逻辑表达式,如果所有的逻辑表达式都为假,则返回ELSE后面的表达式。数据库基础2.CASE语句语句例6.15使用搜索CASE根据图书的单价范围,显示相应的信息。SELECT 书名, CASE WHEN 单价 IS NULL THEN 价钱不确定 WHEN 单

    28、价 = 10 and 单价 20 THEN 可以接收 ELSE 太贵了 END AS 售价满意度 FROM 图书运行结果如图6.10所示。数据库基础2.CASE语句语句图6.10使用搜索CASE数据库基础6.3 流程控制语句流程控制语句6.3.1 语句块和注释6.3.2 选择控制6.3.3 GOTO语句6.3.4 RETURN语句6.3.5 WAITFOR语句6.3.6 循环控制语句数据库基础6.3.3 GOTO语句语句GOTO语句可以使程序直接跳到指定的标识符的位置继续执行,而位于GOTO语句和标识符之间的程序将不会被执行。GOTO语句和标识符可以用在语句块、批处理和存储过程中,标识符可以为

    29、数字与字符的组合,但必须以“: ”结尾。如:label: 。在GOTO语句行,标识符后面不用跟“: ”。GOTO语句的语法形式为:GOTO labellabel:数据库基础6.3.3 GOTO语句语句例6.16利用GOTO语句求出从1到10的总和。DECLARE sum int, count intSELECT sum=0, count=1label:SELECT sum=sum+countSELECT count=count+1IF count=10GOTO labelSELECT count ,sum 数据库基础6.3.3 GOTO语句语句使用GOTO语句可以增加程序的灵活性,该语句也破坏

    30、了程序结构化的特点,使程序结构变得复杂而且难以测试,因此尽量少使用GOTO语句。数据库基础6.3 流程控制语句流程控制语句6.3.1 语句块和注释6.3.2 选择控制6.3.3 GOTO语句6.3.4 RETURN语句6.3.5 WAITFOR语句6.3.6 循环控制语句数据库基础6.3.4 RETURN语句语句RETURN语句用于无条件地终止一个查询、存储过程或者批处理,位于RETURN语句之后的程序将不会被执行。RETURN语句的语法形式为:RETURN integer_expression 其中,参数integer_expression为返回的整型值。数据库基础6.3.4 RETURN语

    31、句语句例6.17创建一个存储过程,用来判断读者现在借阅的图书是否达到规定的最大数量,不到10本的还可以再借阅。CREATE PROCEDURE check_count param char(8)ASIF(SELECT COUNT(*) FROM 借阅 WHERE 借书证号= param GROUP BY 借书证号) 10RETURN 1ELSE RETURN 0数据库基础6.3 流程控制语句流程控制语句6.3.1 语句块和注释6.3.2 选择控制6.3.3 GOTO语句6.3.4 RETURN语句6.3.5 WAITFOR语句6.3.6 循环控制语句数据库基础6.3.5 WAITFOR语句语句

    32、WAITFOR语句可以指定批处理、存储过程或事务执行的时刻、或需等待的时间间隔。语法形式为:WAITFOR DELAY time | TIME time 其中,DELAY用于指定时间间隔,要求时间间隔在24小时之内,TIME用于指定某一时刻,其数据类型为datetime,格式为hh:mm:ss。 数据库基础6.3.5 WAITFOR语句语句例16.18 在22:00时备份图书管理数据库。WAITFOR TIME 22:00BACKUP DATABASE 图书管理 TO book_bkp数据库基础6.3 流程控制语句流程控制语句6.3.1 语句块和注释6.3.2 选择控制6.3.3 GOTO语句

    33、6.3.4 RETURN语句6.3.5 WAITFOR语句6.3.6 循环控制语句数据库基础6.3.6 循环控制语句循环控制语句在T-SQL中可以使用WHILE语句来进行循环控制,当WHILE后面的条件为真时,就重复执行语句。WHILE可以和CONTINUE以及BREAK配合使用来完成对循环的控制。具体的语法格式如下:WHILE Boolean_expression sql_statement | statement_block BREAK sql_statement | statement_block CONTINUE 数据库基础6.3.6 循环控制语句循环控制语句其中Boolean_exp

    34、ression 表达式,返回 TRUE 或 FALSE。如果布尔表达式中含有 SELECT 语句,则必须用括号将 SELECT 语句括起来。sql_statement | statement_block为 T-SQL 语句或用BEGIN END定义的语句块。BREAK 导致从最内层的 WHILE 循环中退出,将执行出现在 END 关键字(循环结束的标记)后面的任何语句。 CONTINUE 使 WHILE 循环重新开始执行,忽略 CONTINUE 关键字后面的任何语句。数据库基础6.3.6 循环控制语句循环控制语句例6.19在图书管理数据库中,判断图书单价的平均价格如果少于15,WHILE 循环

    35、就将价格加倍,然后选择最高价。如果最高价少于或等于 40,WHILE 循环重新启动并再次将价格加倍。该循环不断地将价格加倍直到最高价格超过 40,然后退出 WHILE 循环并打印一条消息。数据库基础6.3.6 循环控制语句循环控制语句WHILE (SELECT AVG(单价) FROM 图书) 40 BREAK ELSE CONTINUEENDPRINT 可以接受数据库基础第六章第六章 T-SQL语言程序设计语言程序设计6.1 数据类型、常量和变量6.2 运算符和表达式6.3 流程控制语句6.4 函数数据库基础6.4 函数函数在程序设计中经常会用到函数,SQL Server 2005中支持两种

    36、函数类型:内置函数和用户定义函数。数据库基础6.4 函数函数6.4.1 内置函数6.4.2 用户自定义函数数据库基础6.4.1 内置函数内置函数内置函数是一组预定义的函数,用户只能调用,不能修改。在程序设计中经常会调用一些内置函数,如进行数学计算,实现数据类型的转换,获得系统信息等。下面将介绍一些常用的内置函数。数据库基础1.数学函数数学函数数学函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server 2005中提供的数字数据(包括decimal、integer、float、real、money、smallmoney、smallint 和 tinyint等类型)进行处

    37、理。在SQL Server 2005中,常用的数学函数如表6.6所示。数据库基础1.数学函数数学函数函数名称及格式说明ABS ( numeric_expression )返回指定数值表达式的绝对值ACOS ( float_expression )求反余弦ASIN ( float_expression )求反正弦ATAN ( float_expression )求反正切ATN2 ( float_expression1 ,float_expression2 )求(参数1/ 参数2)的反正切值CEILING ( numeric_expression )返回大于或等于指定表达式的最小整数COS ( f

    38、loat_expression )求三角余弦COT ( float_expression )求三角余切DEGREES ( numeric_expression )返回以弧度指定的角的相应角度EXP ( float_expression )返回指定的表达式的指数值FLOOR ( numeric_expression )返回小于或等于指定表达式的最大整数数据库基础1.数学函数数学函数LOG ( float_expression )返回指定表达式的自然对数LOG10 ( float_expression )返回指定表达式以 10 为底的对数PI ( )返回 PI 的常量值POWER ( numeri

    39、c_expression , y )返回指定表达式的指定幂的值RADIANS ( numeric_expression )返回弧度值RAND ( seed )返回从 0 到 1 之间的随机 float 值ROUND ( numeric_expression , length ,function )返回舍入到指定的长度或精度的表达式SIGN ( numeric_expression )判断表达式的正负,正(1),零(0),负(-1)SIN ( float_expression )求三角正弦值。SQRT ( float_expression )求平方根SQUARE ( float_expressi

    40、on )求平方TAN ( float_expression )求正切值数据库基础1.数学函数数学函数例6.20用数学函数返回指定数值的绝对值以及大于或等于指定表达式的最小整数和小于或等于指定表达式的最大整数。SELECT ABS(-13.67),CEILING(-13.67),FLOOR(-13.67)执行结果如图6.11所示。数据库基础1.数学函数数学函数图6.11使用数学函数数据库基础2.字符串函数字符串函数字符串函数用来实现对字符型数据的查找、分析、转换等操作。在SQL Server 2005中字符串函数可分为四大类:基本字符串函数、字符串查找函数、长度和分析函数以及转换函数。具体的函数

    41、参照表6.7。数据库基础2.字符串函数字符串函数函数名称及格式说明ASCII ( character_expression )返回最左侧的字符的 ASCII 代码值CHAR ( integer_expression )将 int ASCII 代码转换为字符CHARINDEX ( expression1 ,expression2 , start_location )返回字符串中指定表达式的开始位置DIFFERENCE ( character_expression , character_expression )指示两个表达式的 SOUNDEX 值的差异LEFT ( character_expre

    42、ssion , integer_expression )求字符串中从左边开始指定个数的字符LEN ( string_expression )返回指定表达式的字符数LOWER ( character_expression )将大写字符转换为小写字符LTRIM ( character_expression )返回删除了前导空格之后的字符表达式NCHAR ( integer_expression )返回具有指定的整数代码的 Unicode 字符数据库基础2.字符串函数字符串函数PATINDEX ( %pattern% , expression )返回表达式中某模式第一次出现的起始位置 QUOTENA

    43、ME ( character_string , quote_character ) 返回带有分隔符的 Unicode 字符串 REPLACE ( string_expression1 , string_expression2 , string_expression3 )用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串REPLICATE ( character_expression ,integer_expression ) 以指定的次数重复字符表达式REVERSE ( character_expression )返回字符表达式的逆向表达式RIGHT ( character_ex

    44、pression , integer_expression )返回字符串中从右边开始指定个数的字符RTRIM ( character_expression )截断所有尾随空格数据库基础2.字符串函数字符串函数SOUNDEX ( character_expression )返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性SPACE ( integer_expression )返回由重复的空格组成的字符串STR ( float_expression , length , )返回由数字数据转换来的字符数据STUFF ( character_expression , sta

    45、rt , length ,character_expression )删除指定长度的字符,并在指定的起点处插入另一组字符SUBSTRING ( expression ,start , length ) 返回字符串的指定部分UNICODE ( ncharacter_expression )返回输入表达式的第一个字符的整数值UPPER ( character_expression )将小写字符转换为大写字符数据库基础2.字符串函数字符串函数例6.21在第一个字符串(hello world!)中删除从第七个位置(w字符 )开始的五个字符,然后在删除的起始位置插入第二个字符串,创建并返回一个字符串。S

    46、ELECT STUFF(hello world!, 7, 5, china) 运行结果为hello china!。数据库基础2.字符串函数字符串函数例6.22查询图书管理数据库中,读者姓名的第一个字。SELECT SUBSTRING(姓名, 1, 1)FROM 读者运行结果如图6.12所示。数据库基础2.字符串函数字符串函数图6.12使用SUBSTRING函数数据库基础3.日期和时间函数日期和时间函数日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串、数字值或日期和时间值。在SQL Server 2005中提供的日期和时间函数如表6.8所示。数据库基础3.日期和时间函

    47、数日期和时间函数函数名称及格式说明DATEADD (datepart , number, date )返回给指定日期加上一个间隔后的值 DATEDIFF ( datepart , startdate , enddate )返回指定日期的日期之差DATENAME ( datepart ,date )返回指定日期的指定部分的字符串DATEPART ( datepart , date )返回表示指定日期的指定部分的整数DAY ( date )返回指定日期的天数GETDATE ( )返回当前系统日期和时间GETUTCDATE()返回当前的格林尼治标准时间MONTH ( date )返回表示指定日期的“

    48、月”部分的整数YEAR ( date )返回表示指定日期的年份的整数数据库基础3.日期和时间函数日期和时间函数例6.23显示图书管理数据库中读者借书日期到当前日期的天数。SELECT 借书证号,图书编号,DATEDIFF(day,借阅日期, getdate() AS 借出天数FROM 借阅运行结果如图6.13所示。数据库基础3.日期和时间函数日期和时间函数图6.13使用日期时间函数数据库基础4.系统函数系统函数系统函数用于返回有关SQL Server 2005系统、用户、数据库和数据库对象的信息。用户可以根据系统函数返回的信息进行不同的操作。表6.9给出了常用的系统函数。数据库基础4.系统函数

    49、系统函数函数名称及格式说明CAST ( expression AS data_type ) 类型转换CONVERT (data_type(length), expression , style)类型转换HOST_ID ()返回工作站标识号HOST_NAME ()返回工作站名CURRENT_USER返回当前用户的名称SESSION_USER返回当前数据库中当前上下文的用户名DB_ID ( database_name ) 返回数据库标识 (ID) 号DB_NAME ( database_id )返回数据库名称OBJECT_ID ( object_name)数据库对象标识号OBJECT_NAME (

    50、 object_id )数据库对象名称COL_NAME ( table_id , column_id )返回列的名称COL_LENGTH ( table , column ) 返回列的定义长度数据库基础4.系统函数系统函数例6.24使用cast函数将图书管理数据库中图书的单价转换为int型显示。SELECT 书名,CAST(单价 AS int) as 单价FROM 图书执行结果如图6.14所示。数据库基础4.系统函数系统函数图6.14使用cast函数数据库基础4.系统函数系统函数例6.25从图书管理数据库中返回图书表的首列名称。SELECT COL_NAME(OBJECT_ID(图书), 1)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库系统管理课件(王岚主编)第六章.ppt
    链接地址:https://www.163wenku.com/p-2776728.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库