TSQL PRINT语句转换问题

Han*_*nna 9 t-sql

当我尝试用单行打印一行时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
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

消息245,级别16,状态1,行8转换将nvarchar值'times'转换为数据类型int时失败.

我可以自己打印'int' nvarchar,但是当我将它们组合起来时,我会收到这个错误.我是不正确地将它们组合在一起的?

我正在使用Microsoft SQL Management Studio

D.N*_*.N. 13

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
Run Code Online (Sandbox Code Playgroud)