2014-03-03 99 views
1

我有一個MS-SQL BCP查詢,我用它來導出excel文件中的數據,對於特定列,我希望以逗號分隔符而不是點。更改分隔符從點到特定列的逗號BCP

下面是我的BCP查詢,我想有AMOUNT場用逗號分隔符來提取,目前它被設置爲點,如預期的實際輸出AMOUNT=45.88AMOUNT=45,88

SELECT  @Command = 'bcp "SELECT QUANTITY,AMOUNT FROM "' + @dbname + '".dbo.MY_TABLE " queryout ' + @EXTRACT_DETAILS + ' -S' + @@servername + ' -T -c -C "" ' 
EXEC @ReturnValue=master..xp_cmdshell @Command 

我不想修改我的表格,只是想更改提取分隔符。

回答

0

這給一個嘗試,使用REPLACE

SELECT  @Command = 'bcp "SELECT QUANTITY, 
REPLACE(AMOUNT,''.'','','') AS AMOUNT FROM "' + @dbname + '".dbo.MY_TABLE " queryout ' + 
@EXTRACT_DETAILS + ' -S' + @@servername + ' -T -c -C "" ' 
EXEC @ReturnValue=master..xp_cmdshell @Command 

這裏的變化:

REPLACE(AMOUNT,''.'','','')

+0

Thanksa地塊凱.. 這就是我一直在尋找 - 伊夫使用下面,它的工作原理:-) cast(AMOUNT as decimal(18,2)),''。'','','') – appy

+0

沒問題:)你可以將答案標記爲正確的。 –