我正在尝试编写/运行这样的SQL:
DECLARE @result varchar(max);
EXEC xp_sprintf @result OUTPUT, 'Name: %s', 'John';
但是,当我运行它时,我收到此错误消息:
执行扩展存储过程时出错:参数类型无效
Msg 50003,Level 1,State 0
一切看起来都不错。
答案 0 :(得分:1)
原来它不喜欢我使用varchar(max)
作为结果变量类型。将其更改为使用max
以外的长度解决问题:
DECLARE @result varchar(255);
EXEC xp_sprintf @result OUTPUT, 'Name: %s', 'John';