NOWAIT的T-SQL RAISERROR只打印一个字符而不是整个字符串

时间:2012-03-14 10:41:55

标签: tsql sql-server-2008-r2

我有几个T-SQL存储过程,我使用RAISERROR,Severity参数为0,将进度消息打印到输出窗口。我已经使用WITH NOWAIT来确保消息立即打印出来。

但是,无论我传递给RAISERROR的字符串是什么,只有第一个字符被打印到屏幕上。

例如:

RAISERROR('Profiles Complete', 0, 1) WITH NOWAIT

仅在屏幕上打印一个“P”。

有人知道为什么会这样或我如何解决它?

非常感谢,

马丁。

1 个答案:

答案 0 :(得分:5)

当变量声明为char且没有长度时,长度默认为1.

DECLARE @c char
SET @c = 'Profiles Complete'
PRINT @c

输出:

P