3

以下 T-Sql 代码:

DECLARE @usu VARCHAR(10);
SET @usu = 'TOM';
PRINT @usu;
RAISERROR ('Name of USU is %i ',14,2,@usu);

返回以下错误:

消息 2786,级别 16,状态 1,第 4 行
替换参数 1 的数据类型与格式规范的预期类型不匹配。

有谁知道我怎样才能摆脱这个错误?

4

3 回答 3

7

是的,将格式更改为Name of USU is %s,这%i意味着 的值@usu是有符号整数。所有格式类型都清楚地记录在 MSDN 上

于 2013-10-10T12:45:27.993 回答
6

尝试改变这一点:

RAISERROR ('Name of USU is %i ',14,2,@usu); 

进入那个

RAISERROR ('Name of USU is %s ',14,2,@usu); 

因为 @usu 是 varchar(10) 而 %i 表示有符号整数

于 2013-10-10T12:46:20.687 回答
2

尝试

DECLARE @usu VARCHAR(10);
SET @usu = 'TOM'; 
PRINT @usu; 
--modify this line  RAISERROR ('Name of USU is %i',14,2,@usu);
RAISERROR ('Name of USU is %s',14,2,@usu);

http://msdn.microsoft.com/en-us/library/ms178592.aspx

于 2013-10-10T12:46:00.993 回答