欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SQL Server 2005 第9章 T-SQL语言.ppt

    • 资源ID:82787648       资源大小:2.16MB        全文页数:124页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL Server 2005 第9章 T-SQL语言.ppt

    第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用6本章重点本章重点本章重点本章重点1.T-SQL标识符、常量、变量、运算符表达式标识符、常量、变量、运算符表达式2.批处理与程序流程控制语句批处理与程序流程控制语句3.系统内置函数系统内置函数4.用户自定义函数用户自定义函数本章难点本章难点本章难点本章难点1.局部变量局部变量,全面变量的使用全面变量的使用2.判断语句判断语句,循环语句循环语句,BREAK CONTINUE语语句的使用句的使用3.内嵌表值函数的定义与使用内嵌表值函数的定义与使用第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用69.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释 通常,服务器端的程序使用通常,服务器端的程序使用SQL语句来编写。语句来编写。一般而言,一个服务器端程序是由以下一些成一般而言,一个服务器端程序是由以下一些成分组成:批、注释、变量、流程控制语句等分组成:批、注释、变量、流程控制语句等9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释1、批处理、批处理 在访问数据库时,我们所写的在访问数据库时,我们所写的SQL语句不一定要一个语句不一定要一个一个地执行,也可以利用批(一个地执行,也可以利用批(Batch)的方式,将)的方式,将一个或多个一个或多个SQL语句打包,一起送到语句打包,一起送到SQL Server去处理。去处理。SQL Server会将一个批中所包含的数个会将一个批中所包含的数个SQL语句语句当做一个执行单元(当做一个执行单元(Unit),一起编译成为执行计),一起编译成为执行计划,然后再加以执行。划,然后再加以执行。批处理是包含一个或多个 SQL 语句的组,从应用程序一次性地发送到SQL Server执行SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句每次执行一条客户端应用程序SQL Server服务器批处理语句:语句1语句2GO 使用使用GO 和和EXECUTE命令可以将批处理发送给命令可以将批处理发送给SQL Server。(1)GO 命令命令 GO 命令本身不属于命令本身不属于T-SQL语句,两个语句,两个GO之之间的间的SQL语句可以作为一个批处理,它只是作为语句可以作为一个批处理,它只是作为一个批处理的结束标志。在一个批处理的结束标志。在GO命令行里不能包命令行里不能包含任何含任何T-SQL 语句语句 USE XSGOSELECT*FROM XSDA9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释(2)EXEC EXEC命令用于执行用户定义的函数以及存储过命令用于执行用户定义的函数以及存储过程。程。EXEC SP_HELPDB XS9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释SELECT*FROM studentSELECT*FROM scUPDATE sc SET grade=grade+2 GOGO是批处理的标志,表示是批处理的标志,表示SQL Server将这些将这些T-SQL语句语句编译为一个执行单元,提高执行效率编译为一个执行单元,提高执行效率一般是将一些逻辑相关的业务操作语句,放置在同一批中,一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务需求和代码编写者决定这完全由业务需求和代码编写者决定 哪些语句可以放在一个批处理当中?哪些语句可以放在一个批处理当中?实例:实例:USEXkCREATEVIEWV_TestASSELECT*FROMStudentSELECT*FROMCourseGO判断该段代码运行判断该段代码运行是否会出错?是否会出错?DECLAREMYVARINTGOSELECTMYVAR=33GO建立批处理应该注意的事项建立批处理应该注意的事项1.CREATE DEFAULT,CREATE PROCEDURE,CREATE RULE,CREATE TRIGGER 及及CREATE VIEW 语句不能与其它语句放语句不能与其它语句放一个批处理中。一个批处理中。2.不能在一个批处理中引用其它批处理中所定义的变量。不能在一个批处理中引用其它批处理中所定义的变量。3.不能把规则和默认值绑定到表字段或用户自定义数据类型之后,立不能把规则和默认值绑定到表字段或用户自定义数据类型之后,立即在同一个批处理中使用它们;即在同一个批处理中使用它们;4.不能定义一个不能定义一个CHECK约束之后,立即在同一个批处理中使用该约约束之后,立即在同一个批处理中使用该约束。束。5.如果一个批处理中的第一个语句是执行某个存储过程的如果一个批处理中的第一个语句是执行某个存储过程的EXECUTE语句,则语句,则EXECUTE关键字可以省略;如果该语句不是第一个语句关键字可以省略;如果该语句不是第一个语句则必须使用则必须使用EXECUTE关键字,关键字,EXECUTE可以省略为可以省略为“EXEC”。6.不能删除一个对象之后,在同一个批处理中再次引用这个对象;不能删除一个对象之后,在同一个批处理中再次引用这个对象;7.不能在修改表中的一个字段之后,立即在同一个批处理中引用新字不能在修改表中的一个字段之后,立即在同一个批处理中引用新字段名。段名。8.GO语句必须独占一行才能起作用。语句必须独占一行才能起作用。v注意:注意:GO语句行必须单独存在,不能含有其他语句行必须单独存在,不能含有其他的的SQL语句,也不可以有注释。语句,也不可以有注释。v如果在一个批处理中有语法错误,如某条命令的如果在一个批处理中有语法错误,如某条命令的拼写错误,则整个批处理就不能被成功地编译也拼写错误,则整个批处理就不能被成功地编译也就无法执行。如果在批处理中某条语句执行错误,就无法执行。如果在批处理中某条语句执行错误,如违返了规则,则它仅影响该语句的执行,并不如违返了规则,则它仅影响该语句的执行,并不影响其他语句的执行。影响其他语句的执行。9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释2、脚本、脚本v脚本是批处理的存在方式,将一个或多个批处理组织到一脚本是批处理的存在方式,将一个或多个批处理组织到一起就是一个脚本,即一系列按起就是一个脚本,即一系列按 顺序提交的批处理。顺序提交的批处理。v SQL脚本中可以包含一个或多个批处脚本中可以包含一个或多个批处 理。使用脚本可以理。使用脚本可以将创建和维护数据库时的操作步骤保存将创建和维护数据库时的操作步骤保存 为一个磁盘文件。为一个磁盘文件。脚本文件以脚本文件以.sql为扩展名。为扩展名。v将将T-SQL语句保存为脚本文件,不仅可以建立起可再用语句保存为脚本文件,不仅可以建立起可再用 的模块化代码,还可以在不同计算机之间传送的模块化代码,还可以在不同计算机之间传送T-SQL语语 句,使两台计算机执行同样的操作。句,使两台计算机执行同样的操作。v查询分析器是建立、编辑和使用脚本的最好环境。查询分析器是建立、编辑和使用脚本的最好环境。9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释3、注释、注释 也称为注解,是写在程序代码中的说明性文字,也称为注解,是写在程序代码中的说明性文字,对程序的结构及功能进行文字说明。注释内容不对程序的结构及功能进行文字说明。注释内容不被系统编译,也不被程序执行。使用注释对代码被系统编译,也不被程序执行。使用注释对代码进行说明,不仅能使程序易读易懂,而且有助于进行说明,不仅能使程序易读易懂,而且有助于日后的管理和维护。日后的管理和维护。9.19.1批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释批处理、脚本和注释(1)行内注释行内注释行内注释的语法格式为:行内注释的语法格式为:注释文本注释文本从双连字符从双连字符“”开始到行尾均为注释,但前面可以有执行开始到行尾均为注释,但前面可以有执行的代码。的代码。对于多行注释,必须在每个注释行的开始都是用双连字符。对于多行注释,必须在每个注释行的开始都是用双连字符。(2)块注释)块注释/*注释文本注释文本*/或:或:/*注释文本注释文本*/第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用69.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式1、常量、常量 常量是指在程序运行过程中值不变的量。常常量是指在程序运行过程中值不变的量。常量又称为字面值或标量值,是表示一个特定数据量又称为字面值或标量值,是表示一个特定数据值的符号。值的符号。根据常量值的不同类型,分为字符串常量、根据常量值的不同类型,分为字符串常量、整型常量、日期时间常量、货币常量等。常量的整型常量、日期时间常量、货币常量等。常量的格式取决于它所表示的值的数据类型。格式取决于它所表示的值的数据类型。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式2、变量、变量 变量用来存放程序计算中需要的数据或中间变量用来存放程序计算中需要的数据或中间结果,其中的值可以改变,只有在程序执行的时结果,其中的值可以改变,只有在程序执行的时候才有效。程序结束后变量不再有效。候才有效。程序结束后变量不再有效。T-SQL变量分为局部变量和全局变量。变量分为局部变量和全局变量。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例例9.3 局部变量的定义与赋值局部变量的定义与赋值DECLARE MY_VAR1 VARCHAR(5),MY_VAR2 CHAR(8)SELECT MY_VAR1=你好!,MY_VAR2=happyPRINT MY_VAR1+MY_VAR2SELECT MY_VAR1+MY_VAR29.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例例9.4 创建局部变量创建局部变量C,然后给,然后给C赋值,赋值,最后显示最后显示CDECLARE C CHAR(14)SET C=中华人民共和国SELECT C9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例例9.5 查询查询XS表,将返回的记录数赋给局部变量表,将返回的记录数赋给局部变量NUMuse xsglgodeclare num intset num=(select count(*)from xs)-或select num=count(*)from xsselect num as 总人数go9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例例9.6 查询查询XS表中女同学的记录表中女同学的记录use xsglgodeclare s char(2)set s=女select 学号,姓名,性别,出生时间,专业from xs where 性别=sgoDECLARE username varchar(30)SELECT username=姓名FROM XSDAWHERE 学号=200501SELECT username9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例:使用查询给变量赋值例:使用查询给变量赋值注:如果查询会返回注:如果查询会返回2条以上的记录,那么只有最后一条才会存入变条以上的记录,那么只有最后一条才会存入变量中,如果没有查到任何数据,则变量的值不变。量中,如果没有查到任何数据,则变量的值不变。(默认值为(默认值为NULL)9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式练习练习:1、创建局部变量、创建局部变量var1、var2,并赋值,然并赋值,然后输出变量的值后输出变量的值2、创建一个名为、创建一个名为xb的局部变量,并在的局部变量,并在SELECT语句中使用该局部变量查找表语句中使用该局部变量查找表XSDA中所有女中所有女同学的学号和姓名同学的学号和姓名9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式(2)全局变量)全局变量v全局变量是由系统提供且预先声明的变量,通全局变量是由系统提供且预先声明的变量,通过在名称前保留两个过在名称前保留两个符号区别于局部变量。符号区别于局部变量。v全局变量在所有存储过程中随时有效,用户利全局变量在所有存储过程中随时有效,用户利用全局变量,可以访问服务器的相关信息或者用全局变量,可以访问服务器的相关信息或者有关操作的信息。有关操作的信息。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式使用全局变量时,要注意以下原则:使用全局变量时,要注意以下原则:1.用户只能引用;用户只能引用;2.引用全局变量时,变量名前一定要加上引用全局变量时,变量名前一定要加上标记;标记;3.用户不能定义和全局变量同名的局部变量,用户不能定义和全局变量同名的局部变量,否则将产生错误。否则将产生错误。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式3、运算符与表达式、运算符与表达式vSQL Server 2005提供的常用运算符共有四提供的常用运算符共有四类:算术运算符、比较运算符、逻辑运算符、类:算术运算符、比较运算符、逻辑运算符、字符串连接运算符字符串连接运算符(1)算术运算符)算术运算符 算术运算符包括算术运算符包括+,-,*,/和求模,参与和求模,参与运算的数据是数值类型数据,其运算结果也是运算的数据是数值类型数据,其运算结果也是数值类型数据数值类型数据 9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式v字符串连接运算符字符串连接运算符 字符串连接运算符(字符串连接运算符(+)可以实现字符串之)可以实现字符串之间的连接。参与字符串连接运算的数据只能是间的连接。参与字符串连接运算的数据只能是字符数据类型。字符数据类型。v比较运算符比较运算符 比较运算符又称为关系运算符,用于测试两比较运算符又称为关系运算符,用于测试两个表达式的值之间的关系。个表达式的值之间的关系。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式v逻辑运算符:逻辑运算符用于对某个条件进行测逻辑运算符:逻辑运算符用于对某个条件进行测试。与比较运算符一样,逻辑运算符运算的结果试。与比较运算符一样,逻辑运算符运算的结果也返回一个为也返回一个为TRUE 或或 FALSE 的逻辑值的逻辑值运算符运算规则AND如果两个操作数值都为如果两个操作数值都为TRUE,运算结果为运算结果为 TRUE。OR如果两个操作数中有一个为如果两个操作数中有一个为TRUE,运算结果为运算结果为TRUE。NOT若一个操作数值为若一个操作数值为TRUE,运算结果为运算结果为FALSE,否则为否则为TRUE。ALL如果每个操作数值都为如果每个操作数值都为TRUE,运算结果为运算结果为TRUE。ANY在一系列操作数中只要有一个为在一系列操作数中只要有一个为 TRUE,运算结果为运算结果为TRUE。BETWEEN如果操作数在指定的范围内,运算结果为如果操作数在指定的范围内,运算结果为TRUE。EXISTS如果子查询包含一些行,运算结果为如果子查询包含一些行,运算结果为TRUE。IN如果操作数值等于表达式列表中的一个,运算结果为如果操作数值等于表达式列表中的一个,运算结果为TRUE。LIKE如果操作数与一种模式相匹配,运算结果为如果操作数与一种模式相匹配,运算结果为TRUE。SOME如果在一系列操作数中,有些值为如果在一系列操作数中,有些值为TRUE,运算结果为运算结果为TRUE。9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式例例9.13 select姓名姓名,性性别别,专业专业fromxswhere性性别别=女女AND(专业专业=信息管理信息管理OR专业专业=网网络络工程工程)9.29.2常量、变量和表达式常量、变量和表达式常量、变量和表达式常量、变量和表达式5、运算符的优先级、运算符的优先级运算符优先级决定执行运算的先后次序。运算符优先级决定执行运算的先后次序。第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用69.39.3流程控制语句流程控制语句流程控制语句流程控制语句 为了实现程序的可读性和条理性,经常会遇到一为了实现程序的可读性和条理性,经常会遇到一些改变一组语句中部分语句执行顺序的语句,这些改变一组语句中部分语句执行顺序的语句,这种语句叫做流程控制语句。种语句叫做流程控制语句。9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(1)复合语句)复合语句包括一系列的包括一系列的T-SQL语句,称为语句块语句,称为语句块BEGINEND结构的格式为结构的格式为BEGINEND语句允许嵌套。语句允许嵌套。BEGIN语句组语句组END9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(2)PRINT语句语句SQL Server向客户程序返回信息的方法除了使向客户程序返回信息的方法除了使用用SELECT语句外,还可以使用语句外,还可以使用PRINT语句语句PRINT的语法格式为的语法格式为 PRINT 字符串字符串|局部变量局部变量|全局变全局变量量9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(3)判断语句()判断语句(IFELSE)在此之前我们所看到的在此之前我们所看到的SQL语句,都是一行语句语句,都是一行语句执行之后,紧接着执行下一行语句执行之后,紧接着执行下一行语句 例如:例如:USE XSGOSELECT*FROM XSDA执执行行顺顺序序9.39.3流程控制语句流程控制语句流程控制语句流程控制语句这种程序像跑这种程序像跑“一百米一百米”,只会向前冲不会转弯,只会向前冲不会转弯,但就好像我们走路遇到岔路或十字路口时,要考但就好像我们走路遇到岔路或十字路口时,要考虑走哪一条路一样,程序也必须具备转向的能力虑走哪一条路一样,程序也必须具备转向的能力如下图:如下图:语句一语句一语句二语句二语句三语句三?当程序执行语句一当程序执行语句一之后,接下来要根之后,接下来要根据程序当时的情况据程序当时的情况来决定该执行语句来决定该执行语句二或语句三,也就二或语句三,也就是转向到语句二或是转向到语句二或语句三语句三 9.39.3流程控制语句流程控制语句流程控制语句流程控制语句IFELSE结构语法格式如下:结构语法格式如下:如果条件满足(表达式返回如果条件满足(表达式返回 TRUE 时),则执时),则执行行SQL语句语句1(或语句块(或语句块1),若条件不满足,),若条件不满足,则执行则执行SQL语句语句2(或语句块(或语句块2)IF 布尔表达式 语句1 ELSE 语句29.39.3流程控制语句流程控制语句流程控制语句流程控制语句注:注:vIF或或ELSE条件只能影响一个条件只能影响一个T-SQL语句。若要语句。若要定义语句块(即多个语句),则必须使用控制流定义语句块(即多个语句),则必须使用控制流关键字关键字BEGINGENDv可以在可以在IF或或ELSE之后,再嵌套另一个之后,再嵌套另一个IFELSE结构,对于嵌套层数没有限制。结构,对于嵌套层数没有限制。v如果布尔表达式中含有如果布尔表达式中含有SELECT语句,必须使用语句,必须使用圆括号括起来圆括号括起来9.39.3流程控制语句流程控制语句流程控制语句流程控制语句例例9.14 在在CJ表中查询是否开过表中查询是否开过“数据库数据库SQL Server”课,如果开过,计算该课的平均分课,如果开过,计算该课的平均分IF EXISTS(SELECT 课程号FROM cj WHERE 课程号=J005)BEGIN DECLARE AVG FLOAT SET AVG=(SELECT AVG(成绩)FROM cj WHERE 课程号=J005)SELECT 已开过“数据库SQL Server”课。,AVG AS 平均分 ENDELSE PRINT 没有开过“数据库SQL Server”课。9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(4)CASE语句语句v利用利用CASE表达式可以进行多分支选择。在表达式可以进行多分支选择。在SQL Server中,中,CASE表达式分为简单表达式和搜索表达式分为简单表达式和搜索表达式两种。表达式两种。9.39.3流程控制语句流程控制语句流程控制语句流程控制语句例例9.16 显示显示cj表中的数据,并使用表中的数据,并使用CASE语句将语句将课程号替换为课程名课程号替换为课程名 SELECT 学号,课程名=CASE 课程号 WHEN J001 THEN 计算机基础 WHEN J002 THEN 数据结构 WHEN J003 THEN 操作系统 WHEN J005 THEN 数据库SQL Server WHEN A001 THEN 英语 WHEN A002 THEN 数学 WHEN A003 THEN 哲学 END ,成绩 FROM cj9.39.3流程控制语句流程控制语句流程控制语句流程控制语句9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(5)循环语句)循环语句9.39.3流程控制语句流程控制语句流程控制语句流程控制语句9.39.3流程控制语句流程控制语句流程控制语句流程控制语句例:求例:求1+2+3+100的和的和DECLAREcounterint,sumintSETcounter=1SETsum=0WHILEcounter=100BEGINSETsum=counter+sumSETcounter=counter+1ENDPRINTsum9.39.3流程控制语句流程控制语句流程控制语句流程控制语句vBREAK语句的功能是使程序从最内层的语句的功能是使程序从最内层的WHILE循环中退出循环中退出,即终止即终止WHILE循环循环,接着执接着执行在行在END关键字后面的第一条语句关键字后面的第一条语句,END关键字关键字为循环结束标记为循环结束标记declare i intset i=1while (i =10)begin if (i =6)break print(i)set i=i+1Endprint(i)9.39.3流程控制语句流程控制语句流程控制语句流程控制语句vCONTINUE语句的功能是结束本次循环语句的功能是结束本次循环,使使WHILE重新开始执行重新开始执行,忽略忽略CONTINUE关键字关键字后的任何语句后的任何语句declare i intset i=0while (i =60RETURN1ELSERETURN2-调用存储过程调用存储过程MY_TEST,通过返回值判断是,通过返回值判断是否及格否及格DECLAREIINTEXECI=MY_TEST2006030101,J001IFI=1PRINT及格及格ELSEPRINT不及格不及格9.39.3流程控制语句流程控制语句流程控制语句流程控制语句(7)waitfor语句语句第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用69.49.4系统内置函数系统内置函数系统内置函数系统内置函数 SQL Server按用途将函数分为:按用途将函数分为:行集函数、聚合函数和标量函数。行集函数、聚合函数和标量函数。聚合函数聚合函数聚合函数聚合函数v聚合函数聚合函数也称为也称为组函数组函数,聚合函数对一组值执行计算聚合函数对一组值执行计算并返回单一的值并返回单一的值.在在SQL语句中用于处理指定的行集合语句中用于处理指定的行集合或行组并且获的结果或行组并且获的结果v重要的聚合函数有重要的聚合函数有 SUM、AVG、MAX、MIN 和和 COUNT 聚合函数聚合函数聚合函数聚合函数vSUM()SUM()函数返回在满足条件的行集合中给定列的值的总和函数返回在满足条件的行集合中给定列的值的总和 SELECT SUM(salary)FROM employees SELECT SUM(salary)FROM employeesvAVG()AVG()函数返回在满足条件的行集合中给定列的值的平均值函数返回在满足条件的行集合中给定列的值的平均值 SELECT AVG(salary)FROM employees SELECT AVG(salary)FROM employeesvMIN()MIN()函数返回在满足条件的行集合中给定列的最小值函数返回在满足条件的行集合中给定列的最小值 SELECT MIN(benefits)FROM employees SELECT MIN(benefits)FROM employees WHERE position=Manager;WHERE position=Manager;vMAX()MAX()函数返回在满足条件的行集合中给定列的最大值函数返回在满足条件的行集合中给定列的最大值 SELECT MAX(SALARY)FROM employees SELECT MAX(SALARY)FROM employees9.49.4系统内置函数系统内置函数系统内置函数系统内置函数2、标量函数、标量函数v标量函数只对一个数值进行操作,并返回单个数标量函数只对一个数值进行操作,并返回单个数值。由于标量函数较多,下面按类型介绍常用的值。由于标量函数较多,下面按类型介绍常用的一些函数。一些函数。9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(1)数学函数)数学函数 数学函数可对数学函数可对SQL Server提供的数字数据提供的数字数据(decimal、integer、float、real、money、smallmoney、smallint和和tinyint)进行数学运算并返回运算结果。)进行数学运算并返回运算结果。9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(1)ABS函数函数 返回给定数字表达式的绝对值。返回给定数字表达式的绝对值。(bit数据类型除外)数据类型除外)ABS(数字表达式数字表达式)SELECT ABS(-1),ABS(0),ABS(1)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(2)ROUND函数函数 返回数字表达式并四舍五入为指定的长度或返回数字表达式并四舍五入为指定的长度或 精度。精度。精度为正表示要进行的运算位置在小精度为正表示要进行的运算位置在小 数点后,为负表示在小数点前。数点后,为负表示在小数点前。ROUND(数字型表达式数字型表达式,将要四舍五入的精度将要四舍五入的精度)SELECTROUND(789.34,1),ROUND(789.34,0)SELECTROUND(789.34,-1),ROUND(789.34,-2)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(3)RAND函数函数 返回返回0到到1之间的随机之间的随机float值。参数值。参数seed是给是给出种子值或起始值的整形表达式(出种子值或起始值的整形表达式(tinyint、smallint或、或、int)。返回值类型为)。返回值类型为float.RAND(seed)SELECT RAND(),RAND(3)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(2)字符串函数)字符串函数 字符串函数是对字符串(字符串函数是对字符串(char或或varchar)输)输入值执行操作,并返回一个字符串或数字值。入值执行操作,并返回一个字符串或数字值。9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(1)ASCII函数函数 返回字符表达式最左端字符的返回字符表达式最左端字符的ASCII码值。参码值。参数数character_expression是类型为是类型为char或或varchar的表达式。返回值类型为的表达式。返回值类型为int型。型。ASCII(character_expression)SELECT ASCII(a),ASCII(汉字汉字)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(2)CHAR函数函数 将将ASCII代码转换为字符。参数代码转换为字符。参数integer_expression是介于是介于0255之间的之间的整数;如果整数表达式不在此范围内,将返回整数;如果整数表达式不在此范围内,将返回NULL值。返回值为字符型。值。返回值为字符型。CHAR(integer_expression)SELECT CHAR(65),CHAR(97)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(3)LEFT函数函数 返回字符串中从左边开始指定个数的字符。返回字符串中从左边开始指定个数的字符。参数参数character_expression为字符型表达为字符型表达式,式,integer_expression为整数,表示字符为整数,表示字符个数。返回值为个数。返回值为varchar型。型。LEFT(character_expression,integer_expression)SELECT LEFT(中华人民共和国中华人民共和国,2)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(4)RIGHT函数函数 返回字符串中从右边开始指定个数的字符。返回字符串中从右边开始指定个数的字符。参数参数character_expression为字符表达式;为字符表达式;integer_expression为整数,表示字符个数。为整数,表示字符个数。返回值为返回值为varchar型。型。RIGHT(character_expression,integer_expression)SELECT RIGHT(中华人民共和国中华人民共和国,3)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(5)SUBSTRING函数函数 返回字符表达式的一部分。返回字符表达式的一部分。SUBSTRING(字符串字符串,开始位置开始位置,长度长度)SELECT SUBSTRING(中华人民共和国中华人民共和国,2,3)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(6)REPLACE函数函数 用第三个表达式替换第一个字符串表达中出现的用第三个表达式替换第一个字符串表达中出现的所有第二个给定字符串表达式。参数所有第二个给定字符串表达式。参数string_expression3是替换用的字符串表达是替换用的字符串表达式。式。REPLACE(string_expression1,string_expression2,string_expression3)SELECT REPLACE(计算机应用技术专业计算机应用技术专业,应用应用,网络网络)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(7)STR函数函数 由数字数据转换成字符数据。由数字数据转换成字符数据。参数参数length是总长度,包括小数点、符号、数是总长度,包括小数点、符号、数字或空格,默认值为字或空格,默认值为10;decimal是小数点右是小数点右边的位数。返回类型为边的位数。返回类型为char。STR(带小数点的数字带小数点的数字,length,decimal)SELECT STR(2.347,3,1),STR(12.3765,5,3),STR(-1.732,4,2)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(8)LEN函数函数 返回给定字符串表达式的字符(而不是字节)个返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。数,其中不包含尾随空格。返回类型为返回类型为int。LEN(字符串表达式字符串表达式)SELECT LEN(计算机应用技术专业计算机应用技术专业)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数3、日期和时间函数、日期和时间函数 日期和时间函数可以得到当前系统的日期和时间。日期和时间函数可以得到当前系统的日期和时间。9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(1)GETDATE函数函数 按按datetime值的标准内部格式返回当前系统日值的标准内部格式返回当前系统日期和时间。返回类型为期和时间。返回类型为datetime.GETDATE()SELECT GETDATE()as 今天现在今天现在9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(2)DAY函数函数 返回代表指定日期的天的日期部分的整数。返回代表指定日期的天的日期部分的整数。参数参数date类型为类型为datetime或或smalldatetime的表达式。返回类型为的表达式。返回类型为int.DAY(date)SELECT DAY(2004-4-6)SELECT DAY(GETDATE()as 今天9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(3)MONTH函数函数 返回代表指定日期月份的整数。参数返回代表指定日期月份的整数。参数date是是datetime或或smalldatetime值或日期格式字值或日期格式字符串的表达式。返回类型为符串的表达式。返回类型为intMONTH(date)SELECT MONTH(2004-4-6)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数(4)YEAR函数函数 返回表示指定日期中的年份的整数。参数返回表示指定日期中的年份的整数。参数date是是datetime或或smalldatetime值或日期格式值或日期格式字符串的表达式。返回类型为字符串的表达式。返回类型为intYEAR(date)SELECT YEAR(2004-4-6)9.49.4系统内置函数系统内置函数系统内置函数系统内置函数v4、数据、数据类类型型转换转换函数函数第第第第9 9章章章章 T-SQLT-SQL语言语言语言语言批处理、脚本和注释1常量、变量和表达式2流程控制语句3系统内置函数4用户自定义函数5游标及其使用69.59.5用户自定义函数用户自定义函数用户自定义函数用户自定义函数 在在SQL Server中,用户不仅可以使用标准的内置函中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功数,也可以使用自己定义的函数来实现一些特殊的功能。用户自定义函数可以在对象资源管理器中创建,能。用户

    注意事项

    本文(SQL Server 2005 第9章 T-SQL语言.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开