2016-04-08 89 views
1

我試圖創建一個包含換行符的文本文件。我有這樣的代碼:使用SQL腳本,創建一個帶有換行符的文本文件

DECLARE @Text AS VARCHAR(100) 
DECLARE @Cmd AS VARCHAR(100) 

SET @Text = 'This is my text line 1 (supposed to be new line character) This is line2' 
SET @Cmd ='echo ' + @Text + ' > C:\FileStore\test.txt' 

EXECUTE Master.dbo.xp_CmdShell @Cmd, NO_OUTPUT 

我應該用什麼來對文本文件中的換行符,使輸出應該是

This is my text line 1 
This is line2 

UPDATE: 我已經試過這是每建議

SET @Text = 'This is my text line 1' + char(13) + char(10)+ 'This is line2' 

但有了這個,就不會再創建txt文件

由於

+0

使用了標記dbms,該代碼遠離ANSI SQL兼容。 – jarlh

+0

根據使用的語法重新標記爲「sql-server」。 –

回答

2

Windows使用回車換行-feed序列來表示新行,字符代碼13 & 10這樣:

select 'hello' + char(13) + char(10) + 'world' 

(注意不是在SSMS網格視圖,你只會看到一個雙空格)

它不會產生txt文件更多

啊,那不是支持新線的echo命令行。

你可以

echo This is my text line 1 > "C:\FileStore\test.txt" & echo This is line2 >> "C:\FileStore\test.txt" 

或者發現不涉及命令行的方式不同。

+0

嗨感謝您的響應,當我嘗試這個,它不會創建任何txt文件更多。 – user6007010

3

使用CHAR(13),以用於回車加換行(用於Windows)輸出一個回車,或CHAR(13)+ CHAR(10)

+0

感謝您的迴應,我試過,因爲你建議,但是當我運行腳本,它不會創建txt文件 – user6007010

相關問題