У меня есть таблица, которую мне нужно экспортировать в CSV-файл. В этой таблице есть поле xml, в котором могут быть разрывы строк, которые я должен удалить.
Я использую утилиту bcp для экспорта данных с сервера Sql в файл csv.
Это структура таблицы:
ID int
CODE varchar(20)
XML_DATA xml
Это команда, которую я использую:
bcp "SELECT ID, CODE, replace(convert(nvarchar(max), XML_DATA), CHAR(13)+CHAR(10), ' ') as XML_DATA FROM MYDB.dbo.MyTable" queryout C:\output.csv -c -t0x1F -T -S "10.10.10.28"
По некоторым причинам выходной файл все еще содержит разрывы строк. Но если я выполню тот же запрос на SQL Server для записи с разрывом строки, вывод будет правильным (разрывы строки удалены):
SELECT
ID,
CODE,
replace(convert(nvarchar(max), XML_DATA), CHAR(13)+CHAR(10), ' ') as XML_DATA
FROM MYDB.dbo.MyTable
WHERE ID = 1099; -- record with a line break in the XML_DATA field
Что мне здесь не хватает?