2023年6月21日发(作者:)
数据库T-SQL常量和变量2MSSQL学习笔记4T-SQL常量和变量4.2.1 T-SQL中的常量与变量4.2.1.1 常量1.字符串常量字符串常量定义在单引号内。字符串常量包含字母、数字字符(az、AZ和0~9)及特殊字符(如数字号#、感叹号!、at符@)。2.⼆进制常量定义⼆进制常量,需要使⽤0x,并采⽤⼗六进制来表⽰,不再需要括号引号。例如,以下为⼆进制常量:0xB0A1 0xB0C4 常量bit常量使⽤数字0或1即可,并且不包括在引号中。如果使⽤⼀个⼤于1的数字,则该数字将转换为1。4.⽇期和时间常量定义⽇期和时间常量需要使⽤特定格式的字符⽇期值,并使⽤单引号。例如,以下为⽇期和时间常量:‘2012年10⽉9⽇’ ‘15:39:15’ ‘10/09/2012’ ‘07:59 AM’r常量没有引号并且不包含⼩数点的数字字符串例如,以下为integer常量:24, 4, l常量没有引号并且包含⼩数点的数字字符串例如,以下为decimal常量:10.24, 0.2, 和real常量使⽤科学技术法来表⽰例如,以下为float和real常量:10E24, 0.24E-6, 常量前缀⼀般为货币符号例如,以下为money常量:$12.00, $54034, $10000004.2.1.2 变量变量是指在程序运⾏过程中值可以改变的量。4.2.1.2.1 局部变量1.局部变量是⽤户可⾃定义的变量,它⽤DECLARE语句声明,作⽤范围仅在程序内部。局部变量的名称是⾃⼰定义的,以@开头。DECLARE @variable_name datatype [,@variable_name datatype]···--其中,@variable_name
是局部变量的名字,必须是“@”符号开头。--Datatype是为该局部变量指定的数据类型。--example
声明两个变量 name
字符类型 age intdeclare @name varchar(10),@age int2.声明局部变量,后要给局部变量赋值,可以使⽤SET或SELECT语句,赋值的语法格式如下:SET @local_variable=expressionSELECT @local_variable=expression[,···n]--example
赋值set @name='张三'select @name='张三',@age=183.向客户端返回⼀个⽤户⾃定义信息,即显⽰⼀个字符串、局部、全局变量的内容。print msg_str | @local_variable | string_expr--example
输出print @nameprint @age4.2.1.2.2 全局变量全局变量是SQL Server系统内部事先定义好的变量,不需要⽤户参与定义,对⽤户⽽⾔,其作⽤范围并不局限于某⼀程序,⽽是任何程序均可随时调⽤。全局变量通常⽤于存储⼀些SQL Server的配置设定值和效能统计数据。SQL Server⼀共提供了30多个全局变量,本段只对⼀些常⽤变量的功能进⾏介绍。全局变量的名称都是以**@@**开头的。以下是部分内容。4.2.2 运算符(Operator)运算符是⼀种符号,⽤来进⾏常量、变量或者列之间的数学运算和⽐较操作,它是Transact-SQL语⾔很重要的部分。运算符有⼏种类型分别为:算术运算符、赋值运算符、⽐较运算符、逻辑运算符、位运算符、连接运算符。4.2.2.1 算术运算符算术运算符在两个表达式上执⾏数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。算术运算符包括:+(加)、-(减)、×(乘)、/(除)、%(取余)。注意:取余运算两边的表达式必须是整型数据。4.2.2.2 赋值运算符T-SQL 有⼀个赋值运算符,即等号 (=)。在下⾯的⽰例中,创建了@songname变量。然后利⽤赋值运算符将 @songname 设置成⼀个由表达式返回的值。代码如下:DECLARE @songname char(20)SET @songname=‘love’还可以使⽤SELECT语句进⾏赋值,并输出该值。DECLARE @songname char(20)SELECT @songname =‘love’print @songname4.2.2.3 ⽐较运算符⽐较运算符测试两个表达式是否相同。除了 text、ntext 或 image 数据类型的表达式外,⽐较运算符可以⽤于所有的表达式。⽐较运算符包括:>(⼤于)、<(⼩于)、=(等于)、>=(⼤于等于)、<=(⼩于等于)、!=(不等于)、!>(不⼤于)、!<(不⼩于),其中!=、!>、!<不是ANSI标准的运算符⽐较运算符的结果是布尔数据类型有3种值:TRUE、FALSE及UNKNOWN。那些返回布尔数据类型的表达式被称为布尔表达式。和其他SQL Server 数据类型不同,不能将布尔数据类型指定为表列或变量的数据类型,也不能在结果集中返回布尔数据类型。4.2.2.4 逻辑运算符逻辑运算符对某个条件进⾏测试,以获得其真实情况。逻辑运算符和⽐较运算符⼀样,返回带有TRUE或FALSE值的布尔数据类型。SQL⽀持的逻辑运算符4.2.2.5 位运算符位运算符的操作数可以是整数数据类型或⼆进制串数据类型(image数据类型除外)范畴的。SQL⽀持的按位运算符。4.2.2.6 字符串连接运算符连接运算符“+”⽤于连接两个或两个以上的字符或⼆进制串、列名或者串和列的混合体,将⼀个串加⼊到另⼀个串的末尾。语法如下:
2023年6月21日发(作者:)
数据库T-SQL常量和变量2MSSQL学习笔记4T-SQL常量和变量4.2.1 T-SQL中的常量与变量4.2.1.1 常量1.字符串常量字符串常量定义在单引号内。字符串常量包含字母、数字字符(az、AZ和0~9)及特殊字符(如数字号#、感叹号!、at符@)。2.⼆进制常量定义⼆进制常量,需要使⽤0x,并采⽤⼗六进制来表⽰,不再需要括号引号。例如,以下为⼆进制常量:0xB0A1 0xB0C4 常量bit常量使⽤数字0或1即可,并且不包括在引号中。如果使⽤⼀个⼤于1的数字,则该数字将转换为1。4.⽇期和时间常量定义⽇期和时间常量需要使⽤特定格式的字符⽇期值,并使⽤单引号。例如,以下为⽇期和时间常量:‘2012年10⽉9⽇’ ‘15:39:15’ ‘10/09/2012’ ‘07:59 AM’r常量没有引号并且不包含⼩数点的数字字符串例如,以下为integer常量:24, 4, l常量没有引号并且包含⼩数点的数字字符串例如,以下为decimal常量:10.24, 0.2, 和real常量使⽤科学技术法来表⽰例如,以下为float和real常量:10E24, 0.24E-6, 常量前缀⼀般为货币符号例如,以下为money常量:$12.00, $54034, $10000004.2.1.2 变量变量是指在程序运⾏过程中值可以改变的量。4.2.1.2.1 局部变量1.局部变量是⽤户可⾃定义的变量,它⽤DECLARE语句声明,作⽤范围仅在程序内部。局部变量的名称是⾃⼰定义的,以@开头。DECLARE @variable_name datatype [,@variable_name datatype]···--其中,@variable_name
是局部变量的名字,必须是“@”符号开头。--Datatype是为该局部变量指定的数据类型。--example
声明两个变量 name
字符类型 age intdeclare @name varchar(10),@age int2.声明局部变量,后要给局部变量赋值,可以使⽤SET或SELECT语句,赋值的语法格式如下:SET @local_variable=expressionSELECT @local_variable=expression[,···n]--example
赋值set @name='张三'select @name='张三',@age=183.向客户端返回⼀个⽤户⾃定义信息,即显⽰⼀个字符串、局部、全局变量的内容。print msg_str | @local_variable | string_expr--example
输出print @nameprint @age4.2.1.2.2 全局变量全局变量是SQL Server系统内部事先定义好的变量,不需要⽤户参与定义,对⽤户⽽⾔,其作⽤范围并不局限于某⼀程序,⽽是任何程序均可随时调⽤。全局变量通常⽤于存储⼀些SQL Server的配置设定值和效能统计数据。SQL Server⼀共提供了30多个全局变量,本段只对⼀些常⽤变量的功能进⾏介绍。全局变量的名称都是以**@@**开头的。以下是部分内容。4.2.2 运算符(Operator)运算符是⼀种符号,⽤来进⾏常量、变量或者列之间的数学运算和⽐较操作,它是Transact-SQL语⾔很重要的部分。运算符有⼏种类型分别为:算术运算符、赋值运算符、⽐较运算符、逻辑运算符、位运算符、连接运算符。4.2.2.1 算术运算符算术运算符在两个表达式上执⾏数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。算术运算符包括:+(加)、-(减)、×(乘)、/(除)、%(取余)。注意:取余运算两边的表达式必须是整型数据。4.2.2.2 赋值运算符T-SQL 有⼀个赋值运算符,即等号 (=)。在下⾯的⽰例中,创建了@songname变量。然后利⽤赋值运算符将 @songname 设置成⼀个由表达式返回的值。代码如下:DECLARE @songname char(20)SET @songname=‘love’还可以使⽤SELECT语句进⾏赋值,并输出该值。DECLARE @songname char(20)SELECT @songname =‘love’print @songname4.2.2.3 ⽐较运算符⽐较运算符测试两个表达式是否相同。除了 text、ntext 或 image 数据类型的表达式外,⽐较运算符可以⽤于所有的表达式。⽐较运算符包括:>(⼤于)、<(⼩于)、=(等于)、>=(⼤于等于)、<=(⼩于等于)、!=(不等于)、!>(不⼤于)、!<(不⼩于),其中!=、!>、!<不是ANSI标准的运算符⽐较运算符的结果是布尔数据类型有3种值:TRUE、FALSE及UNKNOWN。那些返回布尔数据类型的表达式被称为布尔表达式。和其他SQL Server 数据类型不同,不能将布尔数据类型指定为表列或变量的数据类型,也不能在结果集中返回布尔数据类型。4.2.2.4 逻辑运算符逻辑运算符对某个条件进⾏测试,以获得其真实情况。逻辑运算符和⽐较运算符⼀样,返回带有TRUE或FALSE值的布尔数据类型。SQL⽀持的逻辑运算符4.2.2.5 位运算符位运算符的操作数可以是整数数据类型或⼆进制串数据类型(image数据类型除外)范畴的。SQL⽀持的按位运算符。4.2.2.6 字符串连接运算符连接运算符“+”⽤于连接两个或两个以上的字符或⼆进制串、列名或者串和列的混合体,将⼀个串加⼊到另⼀个串的末尾。语法如下:
发布评论