第九章TSQL语言
T-SQL简介及基本语法

T-SQL简介及基本语法⼀、T-SQL概述SQL Server⽤于操作数据库的编程语⾔为Transaction-SQL,简称T-SQL。
T-SQL与PL/SQL不同,并没有固定的程序结构。
T-SQL包括以下4个部分:DDL:定义和管理数据库及其对象,例如create、alter和drop等。
DML:实现对数据库表各对象的操作,例如insert、update等。
DCL:数据控制语⾔,实现对数据库进⾏安全管理和权限管理等控制,例如grant、revoke、deny等。
附加的语⾔元素。
T-SQL的附加语⾔元素,包括变量、运算符、函数、注释和流程控制语句等。
在T-SQL中,命令和语句的书写是不区分⼤⼩写的。
⼆、T-SQL编程基础1、标识符①T-SQL规则标识符由字母、数字、下划线、@、#、$符号组成,其中字母可以是a-z或A-Z,也可以是来⾃其他语⾔的字母字符。
⾸字符不能为数字和$。
标识符不允许是T-SQL保留字。
标识符内不允许有空格和特殊字符长度⼩于128②界定标识符 对于不符合标识符规则的标识符,则要使⽤界定符⽅括号([])或双引号(“”)将标识符括起来。
如标识符[My Table]、“select”内分别使⽤了空格和保留字select。
2、数据类型在SQL Server中提供了多种系统数据类型。
除了系统数据类型外,还可以⾃定义数据类型。
①系统数据类型(1)精确数字数据类型int 存储整型数值,存储数值范围为-231~231-1。
bigint bigint⽐int能存储更⼤的数值,存储数值范围为-263~263-1。
smallint 数据类型的范围数值⽐int更⼩,在-215~215-1之间。
定义这种数据类型的时候⼀定要⼩⼼,要确定存储的数据不会超过smallint所能存储的数值范围。
tinyint 数据类型的范围数值⽐smallint更⼩,存储从 0 到 255 的整型数据。
decimal/numeric decimal[(p,s)]和numeric[(p,s)]这两种数据类型⽤于存储相同精度和范围的数据(⼩数点的左、右两边存储的数值位数相同),所能存储的数值范围为-1038+1~1038-1。
第九章-T-SQL语言

9.1.3 注释
注释,也称为注解,是写在程序代码中的说明性文字,对程序的结 构及功能进行文字说明。注释内容不被系统编译,也不被程序执行。 注释还可以用于描述复杂的计算或者解释编程的方法。 1. 行内注释 行内注释的语法格式为: – –注释文本 从双连字符“– –”开始到行尾均为注释,但前面可以有执行的代码。 对于多行注释,必须在每个注释行的开始都是用双连字符。 2. 块注释 块注释的语法格式为: /*注释文本*/ 或: /* 注释文本 */
SQL Server实用教程
2015年7月14日星期二
Page 14
3. 位运算符与位表达式 位运算符可以对整型类型或二进制数据进行按位 与(&)、或(|)、异或(^)、求反(~)等 逻辑运算。对整型数据进行位运算时,首先把它 们转换为二进制数,然后再进行计算。其中与、 或、异或运算需要两个操作数,它们可以是整型 或二进制数据(image数据类型除外),但运算 符左右两侧的操作数不能同时为二进制数据。求 反运算符是一个单目运算符,它只能对int、 smallint、tinyint或bit类型的数据进行求反运 算。
SQL Server实用教程
2015年7月14日星期二
Page 12
9.2.3 运算符与表达式
1. 算术运算符与算术表达式 算术运算符包括加(+)、减(–)、乘(*)、 除(/)、和取模(%)。对于加、减、乘、除 这4种算术运算符,计算的两个表达式可以是数 字数据类型分类的任何数据类型;对于取模运算 符,要求操作数的数据类型为int、smallint和 tinyint。 如果在一个表达式中,出现多个算术运算符,运 算符优先级顺序如下:乘、除、取模运算为同一 优先级,加、减运算优先级为次。
T-SQL语言介绍

运算符
运算符是执行数学运算、字符串连接以及列、常量 和变量之间进行比较的符号。
算数运算符 +、-、*、/、%
比较运算符 =、>、<、>=、<=、<>、!=、!<、!> 赋值运算符 逻辑运算符 ALL、AND、ANY、BETWEEN、EXISTS、IN、LIKE、 NOT、OR = 字符串串联运算符 +
BEGIN…END经常 在条件语句(如 IF…ELSE)中使用。 在BEGIN…END中 可嵌套。
IF…ELSE可以进行嵌套, 在Transsact SQL中 最多可嵌套32级。
[例2] 从sc数据表中求出学号为s7同学的平 均成绩,如果此平均成绩大于或等于60,则 输出“pass!”信息。 If (select avg(score) from sc where sno=„S7‟)>=60 begin print „pass !‟ end
Transact-SQL 语法约定
约定
UPPERCASE (大写) italic bold(粗体) 下划线 |(竖线)
用于
Transact-SQL 关键字。 用户提供的 Transact-SQL 语法的参数。 数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必 须按所显示的原样键入的文本。 指示当语句中省略了包含带下划线的值的子句时应用的默认值。 分隔括号或大括号中的语法项。只能选择其中一项。 可选语法项。不要键入方括号。 必选语法项。不要键入大括号。 指示前面的项可以重复 n 次。每一项由逗号分隔。 指示前面的项可以重复 n 次。每一项由空格分隔。 可选的 Transact-SQL 语句终止符。不要键入方括号。 语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语 法单元进行分组和标记。可使用的语法块的每个位置由括在尖括号内的标签 指示:<label>。
数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。
局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。
如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。
若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。
1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。
通常以“@@”开头。
T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
第9章 T-SQL

DDL(Data Definition Language) DDL( Language)
DML(Data Manipulation Language) DML( Language) DCL(Data Control Language) DCL( Language)
数据控制语言
9.2 T-SQL基础 T-SQL基础
9.2 T-SQL基础 T-SQL基础
9.2.3 表的操作语句 (1)基本用法 例如, test数据库中创建一个clients表 SQL语句如下: 数据库中创建一个clients 例如,在test数据库中创建一个clients表,SQL语句如下: 语句如下 USE test CREATE TABLE clients ( cid int, cname char(8), address char(50) )
9.2.1 查询分析器 启动SQL查询分析器的操作步骤如下: 启动SQL查询分析器的操作步骤如下: SQL查询分析器的操作步骤如下 (1)在“开始”菜单的“程序”级联菜单中,选择Microsoft SQL Server 开始”菜单的“程序”级联菜单中,选择Microsoft 程序组中的“查询分析器”选项,即可启动SQL查询分析器。 程序组中的“查询分析器”选项,即可启动SQL查询分析器。 SQL查询分析器 (2)在启动SQL查询分析器时,系统首先打开“连接到SQL Server”对话框, 在启动SQL查询分析器时,系统首先打开“连接到SQL Server”对话框, SQL查询分析器时 如下图所示。 如下图所示。
9.2 T-SQL基础 T-SQL基础
(2)段属性参数 常用的属性参数如下: 常用的属性参数如下: NULL和NOT NULL NULL和 PRIMARY KEY UNIQUE
第9章 T-SQL编程

9.1.3 运算符
4. 比较运算符 比较运算符(又称关系运算符)见表9-2,用于测试 两个表达式的值是否相同,其运算结果为逻辑值, 可以为三种之一:TRUE、FALSE 及 UNKNOWN(NULL数据参与运算时)。
9.1.3 运算符
【例9-5】使用比较运算符计算表达式的值。 DECLARE @Exp1 int, @Exp2 int SET @Exp1=30 SET @Exp2=50 IF @Exp1>@Exp2 SELECT @Exp1 AS 小数据
2. 赋值运算符 T-SQL中只有一个赋值运算符,即等号(=)。赋值 运算符使我们能够将数据值指派给特定的对象。另 外,还可以使用赋值运算符在列标题和为列定义值 的表达式之间建立关系。 【例9-3】创建一个@MyCounter变量,然后赋值运 算符将@MyCounter设置为表达式返回的值。 DECLARE @MyCounter int SET @MyCounter = 10
第9章 T-SQL编程
9.1 T-SQL编程基础 9.1.1 标识符 标识符是用来标识事物的符号,其作用类似于给 事物起的名称。标识符分为两类:常规标识符和 分隔标识符。
9.1.1 标识符
1. 常规标识符 常规标识符格式的规则如下: (1) 常规标识符必须以汉字、字母(包括从 a 到 z 和 从 A 到 Z 的拉丁字符以及其他语言的字母字符)、 下划线_、@或#开头,后续字符可以是:汉字、字 母、基本拉丁字符或其他国家/地区字符中的十进制 数字、下划线_、@、#。 (2) 常规标识符不能是SQL Server保留字,SQL Server保留字不区分大小写。 (3) 常规标识符最长不能超过128个字符。
tsql语句创建表的方法
tsql语句创建表的方法一、TSQL语句创建表的基础。
1.1 什么是TSQL语句创建表。
嘿呀,咱先来说说这个TSQL语句创建表是咋回事儿呢。
TSQL呢,就是Transact SQL,这是SQL Server数据库里用的一种编程语言。
创建表就像是盖房子打地基一样,是数据库操作里特别重要的一步。
你想啊,要是没有表,数据就像没家的孩子,到处乱飘呢。
1.2 为啥要用TSQL创建表。
这可就有门道了。
用TSQL创建表那是相当方便、灵活。
你可以按照自己的需求,精确地定义表的结构。
比如说,你要管理一个书店的库存,你就能创建一个表,里面有书的名字、作者、价格、库存数量这些栏位。
这就好比是量身定做衣服,不大不小正合适。
二、创建表的具体步骤。
2.1 基本语法结构。
这创建表的语法啊,就像是一个魔法咒语。
一般来说呢,是“CREATE TABLE”这个关键字开头,后面跟着表的名字。
就像“CREATE TABLE BookInventory”,这就表示要创建一个叫BookInventory的表。
然后呢,在括号里面定义表的列。
比如说“(BookName VARCHAR(50), Author VARCHAR(50), Price DECIMAL(10, 2), StockQuantity INT)”。
这里面的“VARCHAR”就是可变长度的字符类型,“DECIMAL”是小数类型,“INT”就是整数类型。
这就像告诉数据库,这个表的每一列都长啥样,是啥类型的数据能住进去。
2.2 设定约束条件。
这约束条件啊,就像是给表立规矩。
比如说主键约束,这就像是给每一行数据一个独一无二的身份证。
在TSQL里,你可以这样写“PRIMARY KEY (BookID)”,这就表示BookID这一列是主键,每一行的BookID都不能相同。
还有像非空约束“NOT NULL”,就好比这个栏位必须得有东西,不能为空着。
这就好比是一个房子里有些房间必须得放东西,不能空着一样。
t-sql 标准
t-sql 标准T-SQL(Transact-SQL)是一种面向关系数据库管理系统(RDBMS)的编程语言,主要用于Microsoft SQL Server。
下面是关于T-SQL标准的基本概念和特性的详细介绍:1. T-SQL基本概念:1.1 定义:T-SQL是Microsoft SQL Server上的一种SQL方言,它扩展了标准的SQL语言,提供了更丰富的功能,包括存储过程、触发器、视图、函数等。
1.2 特点:•过程性编程:T-SQL支持过程性编程,允许开发者创建存储过程、触发器等数据库对象。
•批量操作:提供了丰富的数据操作语句,支持批量处理,提高了效率。
•事务控制:支持事务控制,包括BEGIN TRANSACTION、COMMIT、ROLLBACK 等语句。
2. T-SQL语言特性:2.1 数据查询语言(DQL):T-SQL提供了丰富的查询语言,包括SELECT语句,用于检索数据库中的数据。
SELECT column1, column2 FROM table WHERE condition;2.2 数据操作语言(DML):T-SQL包括INSERT、UPDATE、DELETE等语句,用于对数据库中的数据进行增、删、改操作。
INSERT INTO table(column1, column2) VALUES(value1, value2);2.3 数据定义语言(DDL):T-SQL支持CREATE、ALTER、DROP等语句,用于定义数据库、表结构等。
CREATE TABLE table_name (column1 datatype, column2 datatype, ...);2.4 过程性编程:T-SQL允许创建存储过程、触发器、函数等,以实现更复杂的业务逻辑。
CREATE PROCEDURE procedure_name ASBEGIN--T-SQL statementsEND;2.5 事务控制:T-SQL提供了BEGIN TRANSACTION、COMMIT、ROLLBACK等语句,用于控制事务的开始、提交和回滚。
SQL Server第9章 Transact-SQL语言
4、运算符
2)赋值运算符
赋值运算符(=)可以为变量、字段赋值,还可以为列设置 列标题。
例9-6:利用赋值运算符为查询结果集设置列标题。
USE StuInfo GO SELECT 学号=sNo, 姓名=sName, 院系=sDept FROM Student WHERE sex=‘女’
4、运算符
3、变量
2)局部变量
① 局部变量的定义 其语法格式如下:
DECLARE <@局部变量名> <数据类型> [, ……n]
说明:
局部变量名称必须以@开头,并符合SQL标识符命名规则。 局部变量声明创建后,初始值为NULL。
3、变量
2)局部变量
② 局部变量的赋值 其语法格式如下:
SET <@局部变量名> = <表达式> 或:
关系运算符主要包括:>、<、=、!=或<>、>=、<=、!> 、!< 。
关系运算是用来进行比较运算,比较两个表达式是否满足某 种关系。
关系运算返回的结果是逻辑值,有3种可能:TRUE、FALSE 、UNKNOWN。
关系运算可以应用于WHERE子句中作为查询条件,也可以 应用于流程控制语句(分支语句、循环语句)中作为分支、 循环的条件。
1)SQL 对象的命名规则
由字母、数字、下划线以及特殊字符:@、#、$构成。 首字符允许字母、下划线以及特殊字符@、#。
2、命名规则和注释
2)SQL 对象的命名规则
单行注释:- 多行注释:/* */
3、变量
变量是程序运行中可以改变值(状态)的命名存储区。变 量存储数据值,并可在语句之间传递数据值。
第9章 T-SQL程序设计
SQL Server实用简明教程(第三版)
第3章 T-SQL语言
第13页
9.1.2 常量与变量
常量,是表示一个特定数据值的符号。常量的格式 取决于它所表示的值的数据类型。
字符串常量
►字符串常量括在单引号内并包含字母数字字符 (a-z、A-Z 和 0-9)以及特殊字符,如感叹号 (!)、 at 符 (@) 和数字号 (#)。 ►如果单引号中的字符串包含一个嵌入的引号,可 以使用两个单引号表示嵌入的单引号。 ►'Cincinnati'、 'O''Brien'
在DDL中,主要的语句包括CREATE语句、ALTER 语句、DROP语句。
SQL Server实用简明教程(第三版)
第3章 T-SQL语言
第6页
CREATE语句:用于创建数据库以及数据库中的对 象,例在数据库中创建表
ALTER语句:用于更改数据库以及数据库对象的结 构。ALTER语句的对象必须已经存在。
SQL Server实用简明教程(第三版)
第3章 T-SQL语言
第19页
局部变量的赋值
局部变量的值使用SELECT、UPDATE和SET语句进 行赋值 /*给@int_var赋值*/
DECLARE @int_var int
SELECT @int_var =12 SELECT @int_var
/*输出到屏幕上*/
第9章 T-SQL程序设计
本章概述 本章的学习目标 主要内容
SQL Server实用简明教程(第三版)
第3章 T-SQL语言
第1页
概述
1986年,美国国家标准化组织正式发表了编号为 X3.135-1986的SQL标准,并且在1987年获得了国 际标准化组织(ISO)组织的认可,被命名为 ISO9075-1987。 后来这个标准在1992、1999、2001、2003年等不断 地得到了扩充和完善。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果表达式中有两个相同等级的运算符,将按它们在表达 式中的位置由左到右计算。在表达式中还可以使用括号改 变运算符的优先级。
SQL Server实用教程 2018年10月11日星期四 Page 16
9.3 流程控制语句
9.3.1 BEGIN…END语句块 语法格式: BEGIN {语句或语句块} END 9.3.2 IF…ELSE语句 IF…ELSE语句用来实现选择结构。 语法格式: IF 逻辑表达式 {语句1或语句块1} [ELSE {语句2或语句块2}]
教学要求:通过本章学习,读者应掌握以下内容:
批处理的概念 数据类型与常量的表示方法 全局变量与局部变量的使用 运算符与表达式的使用 流程控制语句的使用 系统函数与自定义函数 游标的使用
SQL Server实用教程
2018年10月11日星期四
Page 1
9.1 批处理、脚本和注释
【例9.5】查询xs表,将返回的记录数赋给局部变量 @NUM。 USE xsgl --打开xsgl数据库 GO DECLARE @NUM INT --声明局部变量 SET @NUM=(SELECT COUNT(*) FROM xs) --给局 部变量赋值 --上面的语句也可以写成 SELECT @NUM=COUNT(*) FROM xs SELECT @NUM AS '总人数' --显示局部变量的值 GO
SQL Server实用教程
2018年10月11日星期四
Page 14
3. 位运算符与位表达式 位运算符可以对整型类型或二进制数据进行按位与(&)、 或(|)、异或(^)、求反(~)等逻辑运算。 4. 比较运算符与比较表达式 比较运算符包括:等于(=)、大于(>)、大于或等于 (>=)、小于(<)、小于或等于(<=)、不等于 (<>或!=)、不小于(!<)、不大于(!>)。 比较运算符的结果是布尔值TRUE(表示两个表达式相 同)、FALSE(表示两个表达式不同)或UNKNOWN, 返回布尔数据类型的表达式称为布尔表达式。 5. 逻辑运算符与逻辑表达式 逻辑运算符检测特定的条件是否为真。
2018年10月11日星期四 Page 4
SQL Server实用教程
9.2 常量、变量和表达式
常量、变量和表达式是程序设计中不可缺少的 元素。始终保持不变的数据称为“常量”,存 放数据的存储单元称为“变量”,表达式用来 表示某个求值规则,每个表达式都产生惟一的 值。 9.2.1 数据类型与常量 1. 数据类型 数据类型是指数据所代表信息的类型。SQL Server中定义了24种数据类型,同时允许用户 自己定义数据类型,见表9-1。
SQL Server实用教程 2018年10月11日星期四 Page 6
1. 局部变量
局部变量是用户在程序中定义的变量,一次只能保存一个 值,仅用于声明它的批、存储过程或触发器中。批处理结 束后,存储在局部变量中的信息将丢失。 局部变量的定义遵守SQL Server标识符的命名规则,其 开始字母必须使用@符号,最长为128个字符。 (1)局部变量的定义 局部变量必须用DECLARE命令定义后才可以使用,定义 局部变量的语法形式如下: DECLARE {@变量名 数据类型}[,...N] 其中,变量的数据类型及大小,可以是任何由系统提供的, 或由用户定义的数据类型。但是,局部变量不能是text、 ntext或image数据类型。一次可以定义多个局部变量。
SQL Server实用教程
2018年10月11日星期四
Page 3
9.1.3 注释
注释,也称为注解,是写在程序代码中的说明性文字,对 程序的结构及功能进行文字说明。注释内容不被系统编译, 也不被程序执行。使用注释对代码进行说明,不仅能使程 序易读易懂,而且有助于日后的管理和维护。 1. 行内注释 行内注释的语法格式为: – –注释文本 从双连字符“– –”开始到行尾均为注释,但前面可以有 执行的代码。 对于多行注释,必须在每个注释行的开始都是用双连字符。 2. 块注释 /*注释文本*/ 或: /* 注释文本 */
SQL Server实用教程
2018年10月11日星期四
Page 7
(2)局部变量的赋值方法 使用DECLARE命令声名并创建局部变量之后中,系 统将其初始值设为NULL,如果想要设定局部变量的 值,必须使用SET命令或者SELECT命令。其语法形 式为: SET {@变量名=表达式} 或者 SELECT{@变量名=表达式}[,...N] SET语句一次只能给一个局部变量赋值,SELECT语 句可以同时给一个或多个变量赋值。如果SELECT 语句返回了多个值,则这个局部变量将取得该语句 返回的最后一个值。另外,使用SELECT语句赋值 时,如果省略了赋值号及后面的表达式,则可以将 局部变量值显示出来,起到与PRINT语句同样的作 用。
9.1.1 批处理 建立批处理如同编写SQL语句,区别在于它是多 条语句同时执行的,用GO语句作为一个批处理 的结束。 注意:GO语句行必须单独存在,不能含有其他 的SQL语句,也不可以有注释。 如果在一个批处理中有语法错误,如某条命令的 拼写错误,则整个批处理就不能被成功地编译也 就无法执行。如果在批处理中某条语句执行错误, 如违返了规则,则它仅影响该语句的执行,并不 影响其他语句的执行。
SQL Server实用教程
2018年10月11日星期四
Page 13
2. 字符串连接运算符与字符串表达式 字符串连接运算符使用加号(+)表示,可以实 现字符串的连接。其他的字符操作都是通过函数, 如SUBSTRING来操作的。 字符串连接运算符可以操作的数据类型有char、 varchar、text、nchar、nvarchar和ntext。 在INSERT语句或者赋值语句中,如果字符串为 空,那么就作为空的字符串来处理。
SQL Server实用教程 2018年10月11日星期四 Page 8
【例9.3】局部变量的定义与赋值。 DECLARE @MY_VAR1 VARCHAR(5),@MY_VAR2 CHAR(8) SELECT @MY_VAR1='你 好!',@MY_VAR2='happy' PRINT @MY_VAR1+@MY_VAR2 SELECT @MY_VAR1+@MY_VAR2
SQL Server实用教程 2018年10月11日星期四 Page 19
9.3.3 CASE表达式 利用CASE表达式可以进行多分支选择ห้องสมุดไป่ตู้在SQL Server 中,CASE表 达式分为简单表达式和搜索表达式两种。 1. 简单表达式 CASE 测试表达式 WHEN 测试值1 THEN 结果表达式1 WHEN 测试值2 THEN 结果表达式2 … END [ELSE 结果表达式N]
SQL Server实用教程 2018年10月11日星期四 Page 5
2. 常量 (1)字符串常量 (2)数值常量 (3)日期时间常量 9.2.2 变量 变量又分为局部变量和全局变量,局部变量是一 个能够保存特定数据类型实例的对象,是程序中 各种类型数据的临时存储单元,用在批处理内 SQL语句之间传递数据。全局变量是系统给定的 特殊变量。
SQL Server实用教程
2018年10月11日星期四
Page 9
DECLARE @C CHAR(14) --给局部变量@C赋值 SET @C='中华人民共和国' --显示局部变量@C的值 SELECT @C GO
SQL Server实用教程
2018年10月11日星期四
Page 10
SQL Server实用教程
2018年10月11日星期四
Page 2
9.1.2 脚本 脚本是批处理的存在方式,将一个或多个批处理 组织到一起就是一个脚本,例如我们执行命令的 各个实例都可以称为一个脚本。将脚本保存到磁 盘文件上就称为脚本文件。使用脚本文件对重复 操作或几台计算机之间交换SQL语句是非常有用 的。
SQL Server实用教程
2018年10月11日星期四
Page 18
【例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 平均分 END ELSE PRINT '没有开过“数据库SQL Server”课。' 程序执行结果:没有开过“数据库SQL Server”课。
SQL Server实用教程
2018年10月11日星期四
Page 12
9.2.3 运算符与表达式
1. 算术运算符与算术表达式 算术运算符包括加(+)、减(–)、乘(*)、 除(/)、和取模(%)。对于加、减、乘、除 这4种算术运算符,计算的两个表达式可以是数 字数据类型分类的任何数据类型;对于取模运算 符,要求操作数的数据类型为int、smallint和 tinyint。 如果在一个表达式中,出现多个算术运算符,运 算符优先级顺序如下:乘、除、取模运算为同一 优先级,加、减运算优先级为次。
SQL Server实用教程 2018年10月11日星期四 Page 17
如果逻辑表达式的条件成立(为TRUE),则执 行语句1或语句块1; 否则(为FALSE),执行语句2或语句块2,语句 块要用BEGIN和END 定义。如果没有ELSE部分,则当逻辑表达式不成 立时,什么都不执行。 IF…ELSE语句可以嵌套使用,而且嵌套层数没 有限制。