![](/img/trans.png)
[英]Headers are not fully exporting when Oracle SQL to CSV Export with Batch File
[英]SQL Server: removing line breaks when exporting data to csv file using Bulk export utility
我有一個表,我需要導出到csv文件。 這個表有一個xml字段,可以有我必須刪除的換行符。 我正在使用bcp實用程序將數據從Sql Server導出到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
我在這里錯過了什么?
解決了這條線的問題
replace(convert(nvarchar(max), XML_DATA), CHAR(13)+CHAR(10), ' ') as XML_DATA
有了這個
replace(replace(convert(nvarchar(max), XML_DATA), CHAR(13), ' '), CHAR(10), ' ') as XML_DATA
另外我想指出,默認情況下,Sql Server Management Studio在查詢結果的復制/粘貼時不包含CLRF字符,您必須顯式啟用選項以保留CLRF字符並重新啟動SQL Server: 在Sql Server Management Studio上預反轉CLRF查詢結果 。 那給了我一些困惑^ _ ^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.