1
是否可以在SQL Server中更改变量类型?东西时,你有在运行时更改变量类型
DECLARE @a INT;
SET @a = 3
但后来你想使用@a
存储VARCHAR
样?有没有办法去声明它,改变它可以存储的数据类型? T-SQL是否允许这样做?
是否可以在SQL Server中更改变量类型?东西时,你有在运行时更改变量类型
DECLARE @a INT;
SET @a = 3
但后来你想使用@a
存储VARCHAR
样?有没有办法去声明它,改变它可以存储的数据类型? T-SQL是否允许这样做?
declare @s sql_variant
select @s=3
select @s='hello'
一旦声明不能更改类型,变量名称在sql批处理中必须是唯一的。
Declare @a int
Set @a=4
Select @a
Declare @a varchar(10)
set @a='Sample'
Select @a
您会收到一条错误
The variable name '@a' has already been declared. Variable names must be
unique within a query batch or stored procedure.
但是你可以用go结束一批Transact-SQL语句,然后再次声明变量
Declare @a int
Set @a=4
Select @a
Go
Declare @a varchar(10)
set @a='Sample'
Select @a
否则你可以使用sql_variant来存储未指定的数据。但它不能用于文本,ntext和时间戳而无需转换