...嗯,不完全是为了PRINT
. 我需要为字符串变量分配将显式子字符串与整数值(也可能与其他类型值)混合的值。目标是获取用于记录的字符串。
到目前为止,我使用的代码如下:
DECLARE @msg nvarchar(1000)
...
SET @msg = @procname + 'result = ' + CAST(@result AS nvarchar(5))
+ '; error = ' + CAST(@error AS nvarchar(5))
其中@procname
是一个字符串,如sp_my_proc:
, 和@result
是@error
整数变量。结果应如下所示(数字周围没有多余的空格,只有最小长度):
sp_my_proc: result = 3; error = 0
上述方法有效,但是......有没有比将整数变量转换为字符串更好的方法CAST(@result AS nvarchar(5))
?(认为神奇的数字 5 是一个需要忽略的小细节。)
您如何解决在代码中生成此类字符串的问题?
谢谢,彼得