2014-01-13 106 views
2

我有一個正在調用存儲過程的BCP進程。通常我一直在執行這個存儲過程並將數據複製到一個Excel工作表中,我將所有列指定爲文本並將其保存爲CSV。BCP到CSV文件,數據中包含逗號

我需要自動化這項工作,並一直在玩BCP命令,但到目前爲止有一個問題。我所擁有的數據中有逗號,它將數據轉移到左側。這是我可以用格式文件或類似的東西克服的東西嗎?

我不想在proc本身的輸出中引用這些。

回答

4

BCP命令具有指定字段終止符的-t開關。就你而言,這是一個逗號或CHR(44)。

http://technet.microsoft.com/en-us/library/ms162802.aspx

爲了防止MS Excel中從具有打開文件的問題,用雙引號「」或CHR(34)包圍所有文本字段中的查詢。

以下是Adventure Works的示例查詢。

-- Enclose text w/ possible commas in quotes 
select 
    char(34) + AddressLine1 + char(34) as fmt_address_line1, 
    char(34) + City + char(34) as fmt_city, 
    PostalCode as postal_code 
from 
    [AdventureWorks2012].[Person].[Address] 

這應該允許您在MS Excel中打開沒有任何問題的文件。

+0

太棒了,謝謝! – JBone

相關問題