2012-08-03 5 views
1

SQL Server에서 변수 유형을 변경할 수 있습니까? 당신이런타임 중에 변수 유형을 변경하십시오.

DECLARE @a INT; 
SET @a = 3 

을 가지고 있지만 나중에 VARCHAR를 저장하는 @a를 사용하고자 할 때처럼 뭔가? 그것을 선언하지 않는 방법, 저장할 수있는 데이터 형식을 변경합니까? T-SQL은 이것을 허용합니까?

답변

4
declare @s sql_variant 
select @s=3 
select @s='hello' 
4

유형을 변경할 수 없다고 선언 된 변수 이름은 SQL 배치에서 고유해야합니다.

Declare @a int 
Set @a=4 
Select @a 

Declare @a varchar(10) 
set @a='Sample' 
Select @a 

당신은 Transact-SQL 문을 일괄 끝으로 go을 사용할 수 있습니다 후 다시 그밖에 변수

Declare @a int 
Set @a=4 
Select @a 
Go 
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. 

를 받게됩니다 지정되지 않은 데이터를 저장하려면 sql_variant을 사용하십시오. 그러나 변환없이 텍스트, ntext 및 타임 스탬프에 사용할 수 없습니다.

관련 문제