Когда у меня есть набор результатов в сетке как:
SELECT 'line 1
line 2
line 3'
или
SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
Со встроенным CRLF дисплей в сетке, кажется, заменяет их пробелами (Наверное, что они отобразят все данные).
Проблема состоит в том, что, если я - генерация кода сценарий, я не могу просто вырезать и вставить это. Я должен преобразовать код, чтобы открыть курсор и распечатать соответствующие столбцы так, чтобы я мог скопировать и вставить их от текстовых результатов.
Там какое-либо более простое обходное решение должно сохранить CRLF в скопировать/вставить операция от сетки результатов?
Причина, что сетка полезна, состоит в том, что я в настоящее время генерирую много сценариев для того же объекта в различных столбцах - BCP в одном столбце, xml файл формата в другом, таблица создает сценарий в другом и т.д...
Я считаю, что в этой статье есть несколько приемов, которые могут быть полезны: http://sqlblogcasts.com/blogs/martinbell/archive/2009/10/25/How-to-display-long-text-in-SSMS.aspx
это взлом, но попробуйте следующее:
заключите ваш набор результатов в REPLACE (....., CHAR (13) + CHAR (10), CHAR (182)), чтобы сохранить разрывы строк, вы можете затем заменить их обратно
SELECT
REPLACE ('line 1' + CHAR(13) + CHAR(10)+ 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
,CHAR(13)+CHAR(10),CHAR(182)
)
OUTPUT:
----------------------
line 1¶line 2¶line 3
(1 row(s) affected)
заменить их обратно в SQL:
select replace('line 1¶line 2¶line 3',CHAR(182),CHAR(13)+CHAR(10))
output:
-------------------
line 1
line 2
line 3
(1 row(s) affected)
или в хорошем текстовом редакторе.
Одна вещь, которую вы можете сделать, - это отправить результаты в файл, а затем использовать редактор, способный отслеживать изменения в файле, который имеет превосходные возможности для понимания вывода.