...まあ、正確には だけではありません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 は、無視されるべきマイナーな詳細であると考えてください。)
コード内でそのような文字列を生成する問題をどのように解決しますか?
ありがとう、ペトル