使用变量
局部变量
declare @variable_name datatype
局部变量的名称 数据类型
declare @name varchar(8)
declare @number int
局部变量的赋值方法:
set @variable_name = value
或 select #variable_name = value
例:
declare @name varchar(8)
set @name = ‘李文才‘
select studentno,studentname,borndate,address
from Student
where StudentName = @name
declare @studentno int
select @studentno = Studentno from Student
where StudentName = @name
select studentno,studentname,borndate,address
from Student
where (StudentNo = @studentno + 1) or (StudentNo = @studentno - 1)
go
一.变量
申明变量 declare @变量名 数据类型,@变量名 数据类型
变申明变赋值 declare @变量名 数据类型=数值
二.set,select
set 一次只能给一个变量赋值 比如 set @变量名=数值
select 一次可以给多个变量赋值 比如select @变量名=数值,@变量名=数值
set 赋值只能返回一个值,否则报错
select 赋值如果返回多行,取最后一行的值
set 如果没有返回值则赋值为null
select 如果没有返回值,则保持默认值
三,全局变量
@@error 最后一个t-sql错误的错误号
@@identity 最后一次插入的标识列、
四,convert和cast
除了datetime 类型,两个转换都是一样的,只不过语法不一样
convert(数据类型 @变量)/cast(@变量 as 数据类型)
convert 可以对datetime 类型转换多一个格式参数 如下:
convert(varchar(20) ,datetime类型的变量,112)//112为一种格式,其余可去3WSCHOOL
全局变量
@@error
@@identity
@@language
@@max_connections
@@rowcount
@@servername
@@servicename
@@timeticks
@@transcount
@@version
*给一个变量赋值时,使用set语句比使用select语句的效率要高
输出语句
语法 print 局部变量或字符串
select 局部变量 as 自定义列名
print ‘服务器的名称:‘ + @@servername
print ‘SQL Server的版本‘ + @@version
select @@SERVERNAME as ‘服务器名称‘
select @@VERSION as ‘SQL Server的版本‘
print ‘当前错误号‘ + convert(varchar(5),@@error)
数据类型转换
CAST() 和 CONVERT() 函数
逻辑控制语句
BEGIN
语句或语句块
END
IF(条件)
语句或语句块1
ELSE
语句或语句块2
IF(条件)
BEGIN
语句1
语句2
END
ELSE
......
WHILE循环语句
WHILE(条件)
BEGIN
语句或语句块
【BREAK | CONTINUE】
END
CASE多分支语句
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
【ELSE 其他结果】
END
原文:http://www.cnblogs.com/yinhaoLing/p/6602953.html