SQL Server(六) |
您所在的位置:网站首页 › sql语言中运算符分为 › SQL Server(六) |
--来源《21天学通SQL Server》1 Transact-SQL概述 Transact-SQL语言是SQL Server为用户提供的一种编程语言,是对标准SQL的实现和扩展,它具有标准SQL的主要特点,同时增加了变量、运算符、函数和流程控制等语言元素,使得其功能更加强大。1.1 Transact-SQL与标准SQL Transact-SQL又简称T-SQL,它是微软公司在SQL Server数据库管理系统中对标准SQL的实现和扩展,是使用SQL Server的核心,所有与SQL Server实例通信的应用程序,其实都是通过发送T-SQL语句到服务器来完成对数据库的操作的。 T-SQL与标准SQL稍有不同,SQL是结构化查询语言(Structured Query Language),是目前关系型数据库管理系统中使用得最广泛的查询语言。T-SQL是在SQL上发展而来的,T-SQL在SQL的基础上添加了变量、运算符、函数、注释和流程控制等,是标准SQL语言的扩展。因此,标准SQL是几乎所有关系型数据库都支持的语言,而T-SQL是Microsoft SQL Server支持的语言。1.2 Transact-SQL的语法约定 2.2多行注释 多行注释使用“/* ……*/”标记 /* 下面代码可以完成以下操作: 1、查看a表中所有的记录内容 2、向表a插入数据 3、查看插入后的结果 */ SELECT * FROM a INSERT a(c1,c2) VALUES ('33333','44444') SELECT * FROM a3 Transact-SQL运算符 T-SQL所使用的运算符可以分为算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串连接运算符和一元运算符7种。3.1 算术运算符 算术运算符是对两个表达式执行数学运算,这两个表达式可以是精确数字型或近似数字型。 (2)在WHERE子句中,作为比较字段的数据值,例如: SELECT * FROM 产品 WHERE 单价 > $10(3)为变量赋值,例如: DECLARE @abc int SET @abc = 123(4)在Update的set子句或Insert的values子句里指定字段的数据值,例如: UPDATE a SET c2= '55555' WHERE c1= '11111'(5)在print或raiserror语句里指定输出的消息文本,例如: PRINT ‘完成操作’(6)作为条件语句(如If语句、case函数)中要判断的值,例如: IF @@ERROR > 0 PRINT N '出错了'4.2 局部变量 局部变量是由用户自定义的变量,这些变量可以用来存储数值型、字符串型等数据,也可以存储函数或存储过程返回来的值。 (1)DECLARE语句可以用来声明局部变量: DECLARE { @local_variable [AS] data_type } [ ,...n]其中参数说明如下。 ● @local_variable:局部变量名称。 ● data_type:局部变量的数据类型,但不能是text、ntext或image数据类型。 (2)用SET语句和SELECT语句可以为变量赋值: SET @local_variable = value SELECT @local_variable = value(3)用SELECT语句和PRINT语句可以显示变量内容,其语法代码如下。 SELECT @local_variable PRINT @local_variable【例1】定义局部变量,并给其赋值,最后显示变量内容。 --定义局部变量name和age DECLARE @name nvarchar(10) DECLARE @age int --给变量name和age赋值 SET @name = '张三' SELECT @age = 20 --显示变量name和age的内容 PRINT @name PRINT @age
4.3 全局变量 全局变量是由系统提供的,用于存储一些系统信息。用户只可以使用全局变量,不可以自定义全局变量。
5.2 IF…ELSE语句 IF条件 BEGIN 语句块1 END [ELSE BEGIN 语句块2 END]说明: ● 如果条件为真,则执行语句块1,不执行语句块2。 ● 如果条件为假,则执行语句块2,不执行语句块1。 ● 语句块1和语句块2永远不会同时执行。 ● ELSE部分为可选。 在IF或ELSE中还可以嵌套其他IF语句。【例4】下面的程序用于求两数之商,如果除数不为0,则求出正确结果,如果为0,则给出提示。 DECLARE @x real,@y real,@z real SELECT @x=9,@y=5 IF @y0 BEGIN SELECT @z=@x/@y PRINT '结果为:'+CAST(@z AS char) END ELSE PRINT '除数不能为零!'如果给变量@y赋值为0,则运行结果: 说明:如果IF或ELSE中只有一条语句,则可以省略BEGIN和END标记。5.3 WHILE语句 WHILE循环条件 BEGIN 语句块(循环体) END【例5】编程计算1+2+3+…+100的结果。 DECLARE @x int,@s int SELECT @x=1,@s=0 WHILE @x |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |