【问题标题】:TSQL PRINT statement conversion issueTSQL PRINT 语句转换问题
【发布时间】:2011-07-19 02:30:26
【问题描述】:

当我尝试在一行中打印带有intnvarchar 的行时,我收到错误消息。这是我的全部代码。

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

我得到的错误是:

消息 245,第 16 级,状态 1,第 8 行 将 nvarchar 值“times”转换为数据类型 int 时转换失败。

我可以打印'int' a nvarchar 只是自己找到,但是当我将它们结合起来时,我得到了这个错误。我是否将它们组合不当?

我正在使用 Microsoft SQL Management Studio

【问题讨论】:

    标签: tsql


    【解决方案1】:

    你应该首先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
    

    【讨论】:

    • 啊,我对选角有点怀疑。谢谢:]
    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    相关资源
    最近更新 更多