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、およびタイムスタンプに使用することはできません。