1

可能重复:
在 TSQL 中强制转换整数并连接到 varchar

如何使用具有更复杂值的命名参数调用存储过程。这是一个有点编造的例子:

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

或者:

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

尝试将文字字符串“我的名字是:”与变量 @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 回答