Sql类型转换、select、set赋值区别

declare @Name varchar(12),@Id int
select @Name = 'smf',@Id = 1
set @Name = 'sun' set @Id = 2
print @Name
print @Id
----------------------------
declare @Name varchar(20)
set @Name = 'smf'
set @Name = (select NAME from T_Test where ID = -1)
select @Name  --null set在返回值不存在时将赋值为null
----------------------------
declare @Name varchar(20)
set @Name = 'smf'
select @Name = Name from T_Test where ID = -1
select @Name  --这里结果为'smf',select在返回值不存在时将保持原值不变
----------------------------
全局变量以@@开头
select @@IDENTITY  --为null
insert into T_Test values('ssss')
select @@IDENTITY  --1183596
----------------------------
类型转换
declare @version int
set @version = 2008
select 'SqlServer' + convert(varchar(10),@version )
select 'SqlServer' + CAST(@version as varchar(10))
declare @dateTime DateTime
select @dateTime = GETDATE()
select 'SqlServer' + CONVERT(varchar(40),@dateTime,102)  --convert在转换日期时将更灵活


猜你喜欢

转载自blog.csdn.net/shabihundan/article/details/51029793
今日推荐