2013-05-02 59 views
1

我有以下打印语句,它会打印一些细节,但它没有正确选项,看起来很糟糕。有没有什么办法可以将它们以标签格式打印出来,这样它们都可以在线条末尾的相同位置相遇。格式化sql server PRINT消息?

Print'ByLineID: '+ Convert (varchar,@bylineID,1)+' , '+ Convert(varchar,@Count,1)+ ' matching records found, '+ Convert(varchar,@@rowcount,1)+' updated.' 

最终结果:

ByLineID: 119952 , 168 matching records found, 0 updated. 
ByLineID: 93979 , 56 matching records found, 0 updated. 
ByLineID: 266021 , 45 matching records found, 0 updated. 
ByLineID: 105976 , 44 matching records found, 0 updated. 
ByLineID: 97525 , 40 matching records found, 0 updated. 
ByLineID: 94138 , 39 matching records found, 0 updated. 
ByLineID: 88967 , 37 matching records found, 0 updated. 

回答

4
Print 
     'ByLineID: '+ 
     Convert (varchar,@bylineID,1) + char(9) + ' , ' + 
     Convert(varchar,@Count,1) + char(9) + 
     ' matching records found, ' + 
     Convert(varchar,@@rowcount,1) + char(9) +' updated.' 

添加一些制表符?

0

首先,没有长度的CONVERT VARCHAR是坏主意,你应该尝试Convert (varchar(10), @bylineID)。另外,如果这些信息对您很重要,您可以考虑创建一个日志表或至少临时日志表来存储这些信息,并从日志表中选择以获得更好的输出。

CREATE TABLE #logmsg 
(id INT Identity (1,1) 
, ByLineID VARCHAR(10) 
, RecordMatch INT 
, RecordUpdted INT 
, CreateDate DateTime DEFAULT(GETDATE()))