当我尝试在一行中打印int
和nvarchar
的行时,我收到错误消息。这是我的全部代码。
DECLARE @COUNT INT, @CONST INT
SET @COUNT = 0
SET @CONST = 12
WHILE(@COUNT<12)
BEGIN
SET @COUNT = @COUNT + 1
PRINT @COUNT + N' times ' + @CONST + N' is ' + @COUNT*@CONST
END
我得到的错误是:
Msg 245,Level 16,State 1,Line 8 将nvarchar值'times'转换为数据类型int时,转换失败。
我可以在nvarchar
打印'int'只是自己找,但是当我把它们组合起来时,我得到了这个错误。我是不正确地将它们组合在一起的?
我正在使用Microsoft SQL Management Studio
答案 0 :(得分:11)
您应该首先将CAST
变量设为nvarchar:
DECLARE @COUNT INT, @CONST INT
SET @COUNT = 0
SET @CONST = 12
WHILE(@COUNT<12)
BEGIN
SET @COUNT = @COUNT + 1
PRINT CAST(@COUNT as nvarchar) + N' times ' + CAST(@CONST as nvarchar) + N' is ' + CAST(@COUNT*@CONST as nvarchar)
END