第6章 游标精选文档.ppt

上传人:石*** 文档编号:47749310 上传时间:2022-10-03 格式:PPT 页数:82 大小:2.80MB
返回 下载 相关 举报
第6章 游标精选文档.ppt_第1页
第1页 / 共82页
第6章 游标精选文档.ppt_第2页
第2页 / 共82页
点击查看更多>>
资源描述

《第6章 游标精选文档.ppt》由会员分享,可在线阅读,更多相关《第6章 游标精选文档.ppt(82页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第6章章 游标游标本讲稿第一页,共八十二页第第6 6章章Transact-SQLTransact-SQL语言基础语言基础课程描述课程描述课程描述课程描述Transact-SQLTransact-SQLTransact-SQLTransact-SQL是是是是SQL ServerSQL ServerSQL ServerSQL Server的编程语言,是结构化查询的编程语言,是结构化查询的编程语言,是结构化查询的编程语言,是结构化查询语言(语言(语言(语言(SQLSQLSQLSQL)的增强版本,)的增强版本,)的增强版本,)的增强版本,SQLSQLSQLSQL是首先由是首先由是首先由是首先由IBM

2、IBMIBMIBM开发的数据开发的数据开发的数据开发的数据库语言。库语言。库语言。库语言。Transact-SQLTransact-SQLTransact-SQLTransact-SQL可用可用可用可用来从数据库中提取数据,执来从数据库中提取数据,执来从数据库中提取数据,执来从数据库中提取数据,执行行行行SQLSQLSQLSQL语言的数据定义语言的数据定义语言的数据定义语言的数据定义(DDLDDLDDLDDL)、数据操作()、数据操作()、数据操作()、数据操作(DMLDMLDMLDML)和数据控制(和数据控制(和数据控制(和数据控制(DCCDCCDCCDCC)等操作。)等操作。)等操作。)等

3、操作。本讲稿第二页,共八十二页本章知识点本章知识点pTransact-SQLTransact-SQL概述概述p常量和变量常量和变量p运算符运算符p常用函数常用函数p流程控制语句流程控制语句本讲稿第三页,共八十二页6.1Transact-SQL6.1Transact-SQL概述概述pTransact-SQLTransact-SQL的语法规则的语法规则pTransact-SQLTransact-SQL的语法元素的语法元素本讲稿第四页,共八十二页6.1.1Transact-SQL6.1.1Transact-SQL的语法规则的语法规则 规则描述大写Transact-SQL关键字斜体Transact-S

4、QL语法中用户提供的参数|(竖线)分隔括号或大括号内的语法项目。只能选择一个项目 (方括号)可选语法项目。不必键入方括号(大括号)必选语法项。不要键入大括号,.n 表示前面的项可重复 n 次。每一项由逗号分隔.n 表示前面的项可重复 n 次。每一项由空格分隔加粗数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本:=语法块的名称。此规则用于对可在语句中的多个位置使用的过长语法或语法单元部分进行分组和标记本讲稿第五页,共八十二页数据库对象名的数据库对象名的Transact-SQL引用引用server_name.database_name.owner_nam

5、e.|database_name.owner_name.|owner_name.object_name具体说明如下:具体说明如下:pserver_name指定链接服务器名称或远程服务器名称。p当对象驻留在SQLServer数据库中时,database_name指定该SQLServer数据库的名称。当对象在链接服务器中时则指定OLEDB目录。p如果对象在SQLServer数据库中,owner_name指定拥有该对象的用户。当对象在链接服务器中时则指定OLEDB架构名称。pobject_name引用对象的名称。本讲稿第六页,共八十二页6.1.2Transact-SQL6.1.2Transact-S

6、QL的语法元素的语法元素1标识符标识符2数据类型数据类型3函数函数4表达式表达式5运算符运算符6注释注释7保留关键字保留关键字本讲稿第七页,共八十二页1标识符标识符p标识符是诸如表、视图、列、数据库和服务器等对象的名称。对象标识符是在定标识符是诸如表、视图、列、数据库和服务器等对象的名称。对象标识符是在定义对象时创建的,标识符随后用于引用该对象。义对象时创建的,标识符随后用于引用该对象。SQL ServerSQL Server的标识符有两类:常规的标识符有两类:常规标识符和分隔标识符。标识符和分隔标识符。SELECT*FROMTableXWHEREKeyCol=124SELECT*FROMTa

7、bleXWHEREKeyCol=124SELECT*FROMMyTableWHEREorder=10本讲稿第八页,共八十二页2数据类型数据类型p定义数据对象(如列、变量和参数)所包含的数据类型。定义数据对象(如列、变量和参数)所包含的数据类型。大多数大多数Transact-SQLTransact-SQL语句并不显式引用数据类型,但是其语句并不显式引用数据类型,但是其结果由于语句中所引用的对象数据类型间的互相作用而受结果由于语句中所引用的对象数据类型间的互相作用而受到影响。到影响。本讲稿第九页,共八十二页3函数函数p与其他程序设计语言中的函数相似,与其他程序设计语言中的函数相似,SQL SQL

8、ServerServer函数可以有零个、一个或多个参数,函数可以有零个、一个或多个参数,并返回一个标量值或表格形式的值的集合。并返回一个标量值或表格形式的值的集合。本讲稿第十页,共八十二页4 4表达式表达式p表达式是表达式是SQL ServerSQL Server可解析为单个值的语法可解析为单个值的语法单元。例如常量、返回单值的函数、列或变单元。例如常量、返回单值的函数、列或变量的引用。量的引用。本讲稿第十一页,共八十二页5 5运算符运算符p运算符中表达式的组成部分之一,它与一个或多个简运算符中表达式的组成部分之一,它与一个或多个简单表达式一起使用构造一个更为复杂的表达式。例如,单表达式一起使

9、用构造一个更为复杂的表达式。例如,将将-(负号)运算符和常量(负号)运算符和常量1212组合在一起得到常量组合在一起得到常量-1212。本讲稿第十二页,共八十二页6 6注释注释pSQL ServerSQL Server支持两种类型的注释字符:支持两种类型的注释字符:-(双连字符)和(双连字符)和/*.*/*.*/(正斜杠(正斜杠-星号对)。星号对)。-ChoosetheHrSystemdatabase.USEHrSystem/*Author:LeeDate:2009-2-16*/USEHrSystem本讲稿第十三页,共八十二页7 7保留关键字保留关键字p保留下来由保留下来由SQL Server

10、SQL Server使用的词。建议使用的词。建议数据库中的对象名不要使用这些字词。数据库中的对象名不要使用这些字词。如果必须使用保留关键字,则使用分隔如果必须使用保留关键字,则使用分隔标识符。标识符。本讲稿第十四页,共八十二页6.26.2常量和变量常量和变量(1 1)常量,也称为字面值或标量值,是表示一个特定数据值的符号。)常量,也称为字面值或标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。常量的格式取决于它所表示的值的数据类型。(2 2)变量对应内存中的一个存储空间。与常量不同,变量的值在程序)变量对应内存中的一个存储空间。与常量不同,变量的值在程序运行过程中可以

11、随时改变。运行过程中可以随时改变。本讲稿第十五页,共八十二页6.2.16.2.1常量常量1 1字符串常量字符串常量2 2UnicodeUnicode字符串常量字符串常量3 3二进制常量二进制常量4 4bitbit常量常量5 5datetime datetime 常量常量6 6integerinteger常量常量7 7decimaldecimal常量常量8 8floatfloat和和realreal常量常量9 9moneymoney常量常量1010uniqueidentifieruniqueidentifier常量常量1111指定负数和正数指定负数和正数本讲稿第十六页,共八十二页1字符串常量字符

12、串常量p字符串常量包含在单引号内,由字母数字字符(字符串常量包含在单引号内,由字母数字字符(a-za-z、A-Z A-Z 和和 0-0-9 9)以及特殊字符(例如)以及特殊字符(例如!、和和#)组成。例如)组成。例如Thisisadatabasep如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。例如,嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。例如,字符串字符串Im TomIm Tom可以表示为可以表示为ImTomp空字符串用中间没有任何字符的两个

13、单引号表示。空字符串用中间没有任何字符的两个单引号表示。本讲稿第十七页,共八十二页2 2UnicodeUnicode字符串常量字符串常量pUnicodeUnicode字符串的格式与普通字符串相似,但它前面有一个字符串的格式与普通字符串相似,但它前面有一个N N标识符(标识符(N N代表代表SQL-92SQL-92标准中的国际语言(标准中的国际语言(National National LanguageLanguage)。)。N N 前缀必须是大写字母。例如,前缀必须是大写字母。例如,Herry Herry 是字是字符串常量而符串常量而 NHerry NHerry 则是则是UnicodeUnico

14、de常量。常量。pUnicodeUnicode常量被解释为常量被解释为UnicodeUnicode数据,并且不使用代码页进行计数据,并且不使用代码页进行计算。算。UnicodeUnicode数据中的每个字符都使用两个字节进行存储,而数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。字符数据中的每个字符则都使用一个字节进行存储。本讲稿第十八页,共八十二页3 3二进制常量二进制常量p二进制常量具有前辍二进制常量具有前辍0 x0 x,并且是十六进制数字字符串。这些常量不使用引号。例,并且是十六进制数字字符串。这些常量不使用引号。例如:如:0 xFE0 x33Ef

15、0 x(空二进制常量)(空二进制常量)本讲稿第十九页,共八十二页4 4bitbit常量常量pbitbit常量使用数字常量使用数字 0 0 或或 1 1 表示,并且不使用表示,并且不使用引号。如果使用一个大于引号。如果使用一个大于 1 1 的数字,它将被的数字,它将被转换为转换为 1 1。本讲稿第二十页,共八十二页5 5datetimedatetime常量常量pdatetime datetime 常量使用特定格式的字符日期值表示,并被单引号括起常量使用特定格式的字符日期值表示,并被单引号括起来。例如:来。例如:April15,200615April,20062006041504/15/20061

16、4:30:2404:24PM本讲稿第二十一页,共八十二页6 6integerinteger常量常量pintegerinteger常量必须是整数,不能包含小数点。常量必须是整数,不能包含小数点。例如:例如:198723本讲稿第二十二页,共八十二页7 7decimaldecimal常量常量pdecimaldecimal常量由没有用引号括起来,并且包含小常量由没有用引号括起来,并且包含小数点的一串数字表示。例如:数点的一串数字表示。例如:94.520432.0本讲稿第二十三页,共八十二页8 8floatfloat和和realreal常量常量pfloatfloat和和realreal常量使用科学记数法

17、表示。例如:常量使用科学记数法表示。例如:321.5E5321.5E-50.6E20.7E-2本讲稿第二十四页,共八十二页9 9moneymoney常量常量pmoneymoney常量表示以可选货币符号作为前缀的一串数字。常量表示以可选货币符号作为前缀的一串数字。moneymoney常量可以包含小数点,但是不能使用引号。例常量可以包含小数点,但是不能使用引号。例如:如:$42$54333.64本讲稿第二十五页,共八十二页1010uniqueidentifieruniqueidentifier常量常量puniqueidentifieruniqueidentifier常量是表示全局唯一标识符常量是表

18、示全局唯一标识符(GUIDGUID)值的字符串。可以使用字符或二进制字符)值的字符串。可以使用字符或二进制字符串格式指定。例如:串格式指定。例如:F93AD5D-33DA-F011-AABD-000ADBDE0 xff99dadafe2345321本讲稿第二十六页,共八十二页1111指定负数和正数指定负数和正数p在数字前面添加在数字前面添加+或或-,指明一个数是正数还是负数。例如:,指明一个数是正数还是负数。例如:+343-343+334.34-334.34+334E-3-334E5-$344.56+$333.99本讲稿第二十七页,共八十二页6.2.2变量变量在在Transact-SQLTra

19、nsact-SQL中,包含两种类型的变量:中,包含两种类型的变量:p局部变量:局部变量是用户在程序中定义的变量,它仅在定义的程序范局部变量:局部变量是用户在程序中定义的变量,它仅在定义的程序范围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时变量保存计算的中间结果。变量保存计算的中间结果。p全局变量:全局变量以全局变量:全局变量以开头,实际上是开头,实际上是SQL ServerSQL Server的系统函数。用户的系统函数。用户可以在程序中,使用全局变量测试系统特性和可以在程序中,使用全局变量测试系统特性和Transac

20、t-SQLTransact-SQL命令的执行命令的执行情况。情况。本讲稿第二十八页,共八十二页声明变量声明变量 变量只有在声明以后才能被使用。变量只有在声明以后才能被使用。Transact-SQLTransact-SQL语言使用语言使用DECLAREDECLARE语句来声明变量。第一次声明变量时将此变量的值设为语句来声明变量。第一次声明变量时将此变量的值设为NULLNULL。SQL SQL ServerServer支持支持2 2种对变量赋值的方法:种对变量赋值的方法:p使用使用SETSET语句。语句。p使用使用SELECTSELECT语句。语句。本讲稿第二十九页,共八十二页变量的声明和使用实例

21、变量的声明和使用实例DECLAREabcINTSETabc=2PRINTabcPRINTPRINT语句用于输出变量的值,返回结果为语句用于输出变量的值,返回结果为2 2。本讲稿第三十页,共八十二页6.36.3运算符运算符p算术运算符。算术运算符。p赋值运算符。赋值运算符。p位运算符。位运算符。p比较运算符。比较运算符。p逻辑运算符。逻辑运算符。p字符串串联运算符。字符串串联运算符。p一元运算符。一元运算符。本讲稿第三十一页,共八十二页6.3.16.3.1算术运算符算术运算符运算符描述+(加号)加法-(减号)减法*(乘号)乘法/(除号)除法%(模)返回一个除法的整数余数。例如,13%6=1本讲稿

22、第三十二页,共八十二页6.3.26.3.2赋值运算符赋值运算符pTransact-SQLTransact-SQL有一个赋值运算符(有一个赋值运算符(=)。它通常与)。它通常与SETSET语句一起使语句一起使用,为变量赋值。例如:用,为变量赋值。例如:DECLAREMyCounterINTSETMyCounter=1本讲稿第三十三页,共八十二页6.3.36.3.3位运算符位运算符运算符描述&按位进行与运算(两个操作数)|按位进行或运算(两个操作数)按位进行异或运算(两个操作数)位1位2&运算|运算 运算00000010111001111110本讲稿第三十四页,共八十二页6.3.4比较运算符比较运

23、算符运算符描述=等于大于=大于等于=小于等于不等于!=不等于!不大于本讲稿第三十五页,共八十二页6.3.5逻辑运算符逻辑运算符运算符描述ALL如果一系列的比较都为 TRUE,那么就为 TRUE。例如5ALL(3,2,1)的结果是TRUE;而5ALL(3,6,2)的结果是FALSE,因为5小于6AND如果两个布尔表达式都为 TRUE,那么就为 TRUEANY如果一系列的比较中任何一个为 TRUE,那么就为 TRUE。例如5 ANY(3,6,8)的结果是TRUE,因为3、6和8中有一个小于5的数BETWEEN如果操作数在某个范围之内,那么就为 TRUE。BETWEEN通常与AND一起使用。例如5

24、BETWEEN 3 AND 6的结果是TRUEEXISTS如果子查询包含一些行,那么就为 TRUEIN如果操作数等于表达式列表中的一个,那么就为 TRUE。例如5 IN(1,2,4)的结果是FALSE,因为5不没有出现在列表中LIKE如果操作数与一种模式相匹配,那么就为 TRUE。LIKE子句中会使用%和_等通配符。_表示一个字符,%表示一个字符串。例如_sql表示在sql前面有一个字符的字符串。对于表达式Varx LIKE _sql来说,当变量Varx符合_sql的模式,则返回TRUE,否则返回FALSENOT对任何其他布尔运算符的值取反OR如果两个布尔表达式中的一个为 TRUE,那么就为

25、TRUESOME如果在一系列比较中,有些为 TRUE,那么就为 TRUE。SOME与ANY的功能相同本讲稿第三十六页,共八十二页6.3.6字符串串联运算符字符串串联运算符p字符串串联运算符允许通过加号字符串串联运算符允许通过加号 (+)进行字符串串联,这个加号也被称为字符进行字符串串联,这个加号也被称为字符串串联运算符。其他所有的字符串操作都可以通过字符串函数进行处理。例如:串串联运算符。其他所有的字符串操作都可以通过字符串函数进行处理。例如:abc+defp的结果是的结果是abcdef本讲稿第三十七页,共八十二页6.3.7一元运算符一元运算符运算符描述+数值为正-数值为负返回数字的补数本讲稿

26、第三十八页,共八十二页6.4常用函数常用函数p聚合函数。聚合函数。p配置函数。配置函数。p游标函数。游标函数。p日期和时间函数。日期和时间函数。p数学函数。数学函数。p元数据函数。元数据函数。p行集函数。行集函数。p安全函数。安全函数。p字符串函数。字符串函数。p系统函数。系统函数。p系统统计函数。系统统计函数。p文本和图像函数。文本和图像函数。本讲稿第三十九页,共八十二页6.4.1聚合函数聚合函数聚合函数功能AVG返回组中值的平均值BINARY_CHECKSUM返回对表中的行或表达式列表计算的二进制校验值CHECKSUM返回在表的行上或在表达式列表上计算的校验值。CHECKSUM 用于生成哈

27、希索引CHECKSUM_AGG返回组中值的校验值COUNT返回组中项目的数量COUNT_BIG返回组中项目的数量。COUNT_BIG 的使用与 COUNT 函数相似。它们之间的唯一差别是它们的返回值:COUNT_BIG 总是返回bigint数据类型值,而 COUNT 则总是返回int数据类型值GROUPING产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0MAX返回表达式的最大值MIN返回表达式的最小值SUM返回表达式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于数字列S

28、TDEV返回给定表达式中所有值的统计标准偏差STDEVP返回给定表达式中所有值的填充统计标准偏差VAR返回给定表达式中所有值的统计方差VARP返回给定表达式中所有值的填充的统计方差本讲稿第四十页,共八十二页1AVG()函数函数p如果要统计员工表如果要统计员工表EmpInfoEmpInfo中所有员工的平均年龄,可以中所有员工的平均年龄,可以执行以下命令。执行以下命令。USEHrSystemSELECTAVG(Wage)FROMEmpInfoGO本讲稿第四十一页,共八十二页2COUNT()函数函数p如果要统计员工表如果要统计员工表EmpInfoEmpInfo中员工的数量,可以执行以下命中员工的数量

29、,可以执行以下命令令USEHrSystemSELECTCOUNT(Emp_Id)FROMEmployeeGO本讲稿第四十二页,共八十二页3MAX()函数函数p如果要统计员工表如果要统计员工表EmpInfoEmpInfo中的员工最高工资,可以执行以下中的员工最高工资,可以执行以下命令:命令:USEHrSystemSELECTMAX(Wage)FROMEmpInfoGO本讲稿第四十三页,共八十二页4SUM()函数函数p如果要统计员工表如果要统计员工表EmpInfoEmpInfo中的所有员工的工资总数,可以执行中的所有员工的工资总数,可以执行以下命令:以下命令:USEHrSystemSELECTSU

30、M(wage)FROMEmpInfoGO本讲稿第四十四页,共八十二页6.4.2日期和时间函数日期和时间函数日期和时间函数功能DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值DATEDIFF返回跨两个指定日期的日期和时间边界数DATENAME返回代表指定日期的指定日期部分的字符串DATEPART返回代表指定日期的指定日期部分的整数DAY返回代表指定日期的天的日期部分的整数GETDATE按 datetime 值的SQL Server标准内部格式返回当前系统日期和时间GETUTCDATE返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值

31、。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置MONTH返回代表指定日期月份的整数YEAR返回表示指定日期中的年份的整数本讲稿第四十五页,共八十二页1GETDATE()函数函数p如果要查看当前的日期,可以执行以下命令:如果要查看当前的日期,可以执行以下命令:SELECTGETDATE()GO本讲稿第四十六页,共八十二页2DATEADD()函数函数p如果要计算当前日期后如果要计算当前日期后2121天的日期,可以执行以下命令:天的日期,可以执行以下命令:DECLAREVarDatedatetimeSETVarDate=GETDATE()SELEC

32、TDATEADD(day,21,VarDate)GO本讲稿第四十七页,共八十二页3DAY()函数函数p如果要提取当前日期的日期部分的整数,可以执行以下命令:如果要提取当前日期的日期部分的整数,可以执行以下命令:DECLAREVarDatedatetimeSETVarDate=GETDATE()SELECTDAY(VarDate)GO本讲稿第四十八页,共八十二页6.4.3数学函数数学函数数学函数功能ABS返回给定数字表达式的绝对值ACOS返回以弧度表示的角度值,该角度值的余弦为给定的 float 表达式;本函数亦称反余弦ASIN返回以弧度表示的角度值,该角度值的正弦为给定的 float 表达式;

33、亦称反正弦ATAN返回以弧度表示的角度值,该角度值的正切为给定的 float 表达式;亦称反正切ATN2返回以弧度表示的角度值,该角度值的正切介于两个给定的 float 表达式之间;亦称反正切CEILING返回大于或等于所给数字表达式的最小整数COS返回给定表达式中给定角度(以弧度为单位)的三角余弦值COT返回给定 float 表达式中指定角度(以弧度为单位)的三角余切值DEGREES当给出以弧度为单位的角度时,返回相应的以度数为单位的角度EXP返回所给的 float 表达式的指数值FLOOR返回小于或等于所给数字表达式的最大整数LOG返回给定 float 表达式的自然对数LOG10返回给定

34、float 表达式的以 10 为底的对数PI返回的常量值POWER返回给定表达式乘指定次方的值RADIANS对于在数字表达式中输入的度数值返回弧度值RAND返回 0 1 之间的随机float 值ROUND返回数字表达式并四舍五入为指定的长度或精度SIGN返回给定表达式的正(+1)、零(0)或负(-1)号SIN以近似数字(float)表达式返回给定角度(以弧度为单位)的三角正弦值SQUARE返回给定表达式的平方SQRT返回给定表达式的平方根TAN返回输入表达式的正切值本讲稿第四十九页,共八十二页1ABS()函数函数p如果要计算如果要计算-4-4的绝对值,可以执行以下命令:的绝对值,可以执行以下命

35、令:SELECTABS(-4)GO本讲稿第五十页,共八十二页2CEILING()函数函数p分别对正数、负数和分别对正数、负数和0 0计算计算CEILINGCEILING,可以执行以下命令:,可以执行以下命令:SELECTCEILING(12.34),CEILING(-12.34),CEILING(0)GO运行结果为运行结果为1313、-12-12和和0 0。本讲稿第五十一页,共八十二页3ROUND()函数函数p执行以下命令,注意观察长度变化对结果的影响。执行以下命令,注意观察长度变化对结果的影响。SELECTROUND(123.456,2),ROUND(123.456,1),ROUND(123

36、.456,0),ROUND(123.456,-1),ROUND(123.456,-2),ROUND(123.456,-3)GO运行结果为运行结果为123.460、123.500、123.000、120.000、100.000和和.000。本讲稿第五十二页,共八十二页6.4.4字符串函数字符串函数字符串函数功能ASCII返回字符表达式最左端字符的 ASCII 代码值CHAR将 int ASCII 代码转换为字符的字符串函数CHARINDEX返回字符串中指定表达式的起始位置DIFFERENCE以整数返回两个字符表达式的 SOUNDEX 值之差LEFT返回从字符串左边开始指定个数的字符LEN返回给定

37、字符串表达式的字符(而不是字节)个数,其中不包含尾随空格LOWER将大写字符数据转换为小写字符数据后返回字符表达式LTRIM删除起始空格后返回字符表达式NCHAR根据 Unicode 标准所进行的定义,用给定整数代码返回 Unicode 字符PATINDEX返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零QUOTENAME返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的SQL Server分隔标识符REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式REPLICATE以指定的次数

38、重复字符表达式REVERSE返回字符表达式的反转RIGHT返回字符串中从右边开始指定个数的 integer_expression 字符RTRIM截断所有尾随空格后返回一个字符串SOUNDEX返回由四个字符组成的代码(SOUNDEX)以评估两个字符串的相似性SPACE返回由重复的空格组成的字符串STR由数字数据转换来的字符数据STUFF删除指定长度的字符并在指定的起始点插入另一组字符SUBSTRING返回字符、binary、text 或 image 表达式的一部分UNICODE按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值UPPER返回将小写字符数据转换为大写的字符表达式本

39、讲稿第五十三页,共八十二页1ASCII()函数函数p下面是演示下面是演示ASCII()ASCII()函数使用的代码:函数使用的代码:SELECTASCII(SQL)GOp运行结果为运行结果为8383,表明字符,表明字符S S的的ASCIIASCII码为码为8383。本讲稿第五十四页,共八十二页2CHAR()函数函数p下面是演示下面是演示CHAR()CHAR()函数使用的代码:函数使用的代码:SELECTCHAR(65)GO运行结果为运行结果为A A。本讲稿第五十五页,共八十二页3LEFT()函数函数p如果要返回字符串如果要返回字符串ABCDEABCDE的左侧的左侧3 3个字符,可以执行以下命令

40、:个字符,可以执行以下命令:SELECTLEFT(ABCDE,3)GOp运行结果为运行结果为ABCABC。本讲稿第五十六页,共八十二页4LEN()函数函数p如果要返回字符串如果要返回字符串ABCDEABCDE的长度,请执行以下命令:的长度,请执行以下命令:SELECTLEN(ABCDE)GOp运行结果为运行结果为5 5。本讲稿第五十七页,共八十二页5LOWER()函数函数p如果要将字符串如果要将字符串ABCDEABCDE转换为小写字母,请执行以下命令:转换为小写字母,请执行以下命令:SELECTLOWER(ABCDE)GOp运行结果为运行结果为abcdeabcde。本讲稿第五十八页,共八十二页

41、6LTRIM()函数函数p下面是演示下面是演示LTRIM()LTRIM()函数使用的代码:函数使用的代码:DECLAREvarstrchar(50)SETvarstr=abcSELECT123+LTRIM(varstr)+123GOp运行结果为运行结果为123abc123abc。可以看出,只有左侧的空格被删除了。可以看出,只有左侧的空格被删除了。本讲稿第五十九页,共八十二页7REPLACE()函数函数p如果要把字符串如果要把字符串ABCDEABCDE中的中的CDCD替换为替换为123123,请执行以下命令:,请执行以下命令:DECLAREvarstrchar(50)SETvarstr=REPL

42、ACE(ABCDE,CD,123)SELECTvarstrGOp运行结果为运行结果为AB123EAB123E。本讲稿第六十页,共八十二页8SPACE()函数函数p下面是演示下面是演示SPACE()SPACE()函数使用的代码:函数使用的代码:DECLAREvarstrchar(50)SETvarstr=abc+SPACE(5)+123SELECTvarstr,LEN(varstr)GOp运行结果为运行结果为“abc 123 11”“abc 123 11”。可以看出,在字符串。可以看出,在字符串abcabc和和123123之间出现了之间出现了5 5个字符串,而字符个字符串,而字符串的长度为串的长

43、度为1111。本讲稿第六十一页,共八十二页9STR()函数函数p如果要将计算的结果以字符串的形式显示,请执行以下命如果要将计算的结果以字符串的形式显示,请执行以下命令:令:DECLAREvarstrdecimal(15,2)SETvarstr=12*4.2PRINT12*4.2的结果是:的结果是:+STR(varstr,5,1)GOp运行结果为运行结果为“12*4.2“12*4.2的结果是:的结果是:50.4”50.4”。本讲稿第六十二页,共八十二页10SUBSTRING()函数函数p如果要截取字符串如果要截取字符串ABCDEFGABCDEFG中第中第2 2个字符开始的个字符开始的3 3个字符

44、,请个字符,请看以下示例程序:看以下示例程序:SELECTSUBSTRING(ABCDEFG,2,3)GOp运行结果为运行结果为BCDBCD。本讲稿第六十三页,共八十二页11UPPER()函数函数p如果要将字符串如果要将字符串abcdeabcde转换为大写字母,请执行以下命令:转换为大写字母,请执行以下命令:SELECTUPPER(abcde)GOp运行结果为运行结果为ABCDEABCDE。本讲稿第六十四页,共八十二页6.4.5文本和图像函数文本和图像函数文本和图像函数功能PATINDEX返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零T

45、EXTPTR以 varbinary 格式返回对应于 text、ntext 或 image 列的文本指针值。检索到的文本指针值可用于 READTEXT、WRITETEXT 和 UPDATETEXT 语句TEXTVALID一个 text、ntext 或 image 函数,用于检查给定文本指针是否有效本讲稿第六十五页,共八十二页6.5流程控制语句流程控制语句pIFELSEIFELSE语句语句pWHILEWHILE语句语句pWAITFORWAITFOR语句语句pGOTOGOTO语句语句pRETURNRETURN语句语句pTRYCATCHTRYCATCH语句语句本讲稿第六十六页,共八十二页6.5.1IF

46、ELSE6.5.1IFELSE语句语句pIFELSEIFELSE是条件语句,其语法结构如下:是条件语句,其语法结构如下:IFSQL语句语句1|SQL语句块语句块1ELSESQL语句语句2|SQL语句块语句块2p当当 满足时,执行满足时,执行SQLSQL语句语句1 1或或SQLSQL语句块语句块1 1,否则执行,否则执行SQLSQL语句语句2 2或或SQLSQL语句块语句块2 2。本讲稿第六十七页,共八十二页【例【例6.1】p下面是下面是IFELSEIFELSE语句的一个简单实例,程序根据当前的系统语句的一个简单实例,程序根据当前的系统时间输出上半年或下半年。时间输出上半年或下半年。IFmont

47、h(getdate()7PRINT(上半年上半年)ELSEPRINT(下半年下半年)本讲稿第六十八页,共八十二页BEGIN和和END语句语句IFmonth(getdate()7BEGINPRINT(上半年上半年)PRINT(getdate()ENDELSEBEGINPRINT(下半年下半年)PRINT(getdate()END本讲稿第六十九页,共八十二页6.5.2WHILE语句语句pWHILEWHILE语句是循环语句,当满足指定条件时,循环执行一条语句是循环语句,当满足指定条件时,循环执行一条SQLSQL语句或一个语句或一个SQLSQL语句块,直至条件不满足。语句块,直至条件不满足。pWHIL

48、EWHILE语句的语法结构如下:语句的语法结构如下:WHILESQL语句语句1|SQL语句块语句块1BREAKSQL语句语句2|SQL语句块语句块2CONTINUESQL语句语句3|SQL语句块语句块3本讲稿第七十页,共八十二页【例【例6.2】p打印打印110110的数字,代码如下:的数字,代码如下:DECLAREiINTSETi=1WHILEi=10BEGINPRINTiSETi=i+1END本讲稿第七十一页,共八十二页BREAK语句语句 【例【例6.36.3】在上面的】在上面的WHILEWHILE语句中增加语句中增加BREAKBREAK语句,当语句,当ii等于等于3 3时退出循环,代码时退

49、出循环,代码如下:如下:DECLAREiINTSETi=1WHILEi=10BEGINIFi=3BREAKPRINTiSETi=i+1END本讲稿第七十二页,共八十二页CONTINUE语句语句【例【例6.46.4】在上面的】在上面的WHILEWHILE语句中增加语句中增加CONTINUECONTINUE语句,当语句,当ii小于或等于小于或等于3 3时不执行打印时不执行打印语句,代码如下:语句,代码如下:DECLAREiINTSETi=0WHILEi10BEGINSETi=i+1IFi=3CONTINUEPRINTiEND本讲稿第七十三页,共八十二页6.5.3WAITFOR语句语句WAITFOR

50、WAITFOR语句可以指定批处理、存储过程或事务的执行条件,包括:语句可以指定批处理、存储过程或事务的执行条件,包括:p在达到指定时间之前。在达到指定时间之前。p在达到指定时间间隔之前。在达到指定时间间隔之前。p指定语句修改或返回一行之前。指定语句修改或返回一行之前。本讲稿第七十四页,共八十二页WAITFOR语句的语法如下语句的语法如下WAITFORDELAYtime_to_pass|TIMEtime_to_execute|(receive_statement),TIMEOUTtimeout本讲稿第七十五页,共八十二页【例【例6.5】p指定在指定在2222点时打印点时打印“现在是现在是2222

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com