Конвертируйте результаты SQL Server T-SQL в читаемый текстовый формат - PullRequest
1 голос
/ 13 октября 2011

У меня есть следующий T-SQL (SQL Server 2008), и мне нужно отправить результат по электронной почте с помощью базы данных.

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

col1 до col6 - это длинные nvarchar (4000), и результат не читается. Я хочу, чтобы результат был показан как

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

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

Можно ли использовать for xml с xlst для преобразования результата?

1 Ответ

1 голос
/ 29 октября 2011

Вы должны взглянуть на функцию COALESCE, чтобы изменить ваш набор результатов:

Вот пример для вашего запроса:

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

Источник: http://www.mssqltips.com/sqlservertip/1521/the-many-uses-of-coalesce-in-sql-server/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...