开发者

Convert SQL Server T-SQL wide result to readable text format

I have the f开发者_如何学Goollowing T-SQL (SQL Server 2008) and I need to email the result using database mail.

select top 5 col1, col2, col3, col4, col5, col6
from aTable
order by colOrder desc

col1 to col6 are long nvarchar(4000) and result is not readable. I wish the result be shown as

col1: aaa asa 11 11111111111111111111111111111111111111
col2: 22222222222222222222222222222222222222222222222222222222
col3: 333333333333333333333333333333333333333333333333333333333333333333
col4: 44444444444444444
col5: 555555555555555555555
col6: 666666666666

col1: bbbbbbb 1111111111111111111111111111111111
col2: 22 222 222222222222222222222
....

Is it possible to use for xml with xlst to transform the result?


You should take a look a the COALESCE function to pivot you resultset :

Here is an example for your query :

DECLARE 
    @col1 nvarchar(max),
    @col2 nvarchar(max)


SELECT top 5 
    @col1 = COALESCE(@col1,'') + col1 + ' '
    ,@col2 = COALESCE(@col2,'') + col2 + ' '
FROM aTable
ORDER BY colOrder

SELECT 'Col1: ' + @col1
union
SELECT 'Col2: ' + @col2

Source :http://www.mssqltips.com/sqlservertip/1521/the-many-uses-of-coalesce-in-sql-server/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜