- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 T-SQL基础 教学课件 目录 本章目标 掌握:常量与变量的表示方法 了解:常用的运算符和函数 能够:构造表达式 能够:使用流程控制语句 了解:处理数据库错误的方法 本章内容 6.1 常量和变量 6.2 运算符和表达式 6.3 函数 6.4 过程T-SQL 6.5 处理数据库错误 6.6 注释 6.1 常量和变量 6.1.1 常量 6.1.2 变量 局部变量 作用域:批处理、存储过程或触发器内。 声明: DECLARE @变量名 数据类型,@变量名 数据类型 变量名必须以 at 符 (@) 开头。局部变量名必须符合有关标识符的规则。 数据类型:是系统提供的类型、CLR 用户定义类型或别名数据类型。 变量不能是 text、ntext 或 image 数据类型。 6.1.2 变量 局部变量的初始化(赋值) 必须使用select或set命令来设定变量的初始值:其语法 如下: Select @局部变量=变量值1[,@局部变量=变量值2,…] Set @局部变量=变量值 Set 与select对变量赋值的区别 SQL Sever推荐使用set而不是select对变量进行赋值。 一般情况下,如果用指定的常量进行赋值,则建议使用set语 句,如果是从表中查询出的数据给变量赋值,则建议使用 select语句。 6.1.2 变量 显示局部变量的值 语法格式:print 表达式 select @局部变量1=表达式1[,…n] (1)使用print必须有且只能有一个表达式 (2)使用select实际是无数据源检索格式,可以有多个表达式,其结果是按数据表的格式显示,若不指定别名则显示标题“无列名”。 (3)在一个程序脚本中,最好不要混用这两中输出方式。 例题 【例6-1】 DECLARE @num int, @gender char(2) SET @gender = 男 SELECT @num = count(*) FROM student WHERE st_gender = @gender PRINT 性别为 + @gender + 的人数是:+convert(char(4), @num) GO 6.1.2 变量(续) 2. 全局变量 标识:以两个@ @符号(@ @ )开头 记录SQL Server服务器活动状态的一组数据,系统提供的30个全局变量。 作用范围:任何程序内均可以调用 。 用户只能使用预先定义的全局变量,而不能进行定义。 常用全局变量名称及其功能 6.2 运算符和表达式 6.3 函数 SQL Server 2005 提供了一些内置函数,用户可以使 用这些函数方便的实现一些功能。以下举例说明一些常 用的函数,其他函数请参考联机手册。 聚合函数 COUNT ,SUM ,AVG,MAX,MIN。 例:查询score表中的最高分。 USE student GO SELECT MAX(sc_grade) FROM score 6.3 函数 日期时间函数 DATEADD(datepart,n,d):返回加上一个时间的新时间 例题: DECLARE @OLDTime datetime SET @OLDTime=2013-4-10 10:10:00 SELECT DATEADD(hh,4,@OldTime) 执行结果: 6.3 函数 DATEDIFF(datepart,d1,d2):两时间之差 DECLARE @FirstTime datetime, @SecondTime datetime SET @FirstTime=2013-4-10 SET @SecondTime=2013-5-1 SELECT DATEDIFF(dd,@FirstTime,@SecondTime) as 相差天数 执行结果: 6.3 函数 DATENAME(datepart,d)返回年月日星期等字符串。 DECLARE @StatementDate datetime SET @StatementDate=2013-4-10 SELECT DATENAME(dw,@StatementDate) 周日期 执行结果: 6.3 函数 DATEPART(datepart,d) 返回部分日期 DECLARE @WhatsTheDay datetime SET @WhatsTheDay=2013-4-10 SELECT CAST(DATEPART(yy,@WhatsTheDay) AS char(4))+年+ CAST(DATEPART(mm,@Wh
文档评论(0)