1

重複の可能性:
整数をキャストし、TSQLでvarcharに連結します

より複雑な値を持つ名前付きパラメーターを使用して、ストアドプロシージャをどのように呼び出しますか。これはやや作成された例です:

EXEC MyStoredProc @Param1='My name is: '+@Name

または:

EXEC MyStoredProc @Param1=CONCAT('My name is: ',@Name)

リテラル文字列'Myname is:'を変数@Nameと連結しようとするとエラーが発生します。かっこは問題を助けません。これはT-SQLの制限ですか(つまり、名前付きパラメーターを使用する場合、等号の後の式は単一のリテラルまたは変数でなければなりません)?

ありがとう

4

1 に答える 1

5

一方通行

declare @Var1 varchar(50)
select @Var1 = 'My name is: '+@Name

EXEC MyStoredProc @Param1=@Var1

関数についても同じことが言えます

あなたはこれを行うことはできません

EXEC MyStoredProc @Param1=getdate()

あなたがする必要があります

declare @Var1 datetime
select @Var1 = getdate()

EXEC MyStoredProc @Param1=@Var1
于 2012-09-27T19:58:49.747 に答える