2016-04-08 17 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ファイルを作成しませんあたり(Windows用)キャリッジリターンプラスラインフィードの出力に

おかげ

+0

タグdbmsが使用されていますが、そのコードはANSI SQLに準拠していません。 – jarlh

+0

使用される構文に基づいて 'sql-server'で再タグ付けされます。 –

答えて

2

Windowsがキャリッジリターンラインを使用していますその文字コード13 & 10、新しい行を示すためにシーケンスを-feed:

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

(SSMSグリッドビューであなただけのダブルスペースが表示されますよりも、注意してください)

それはtxtファイルを作成しません、それ以上

ああ、新しいラインをサポートしていないechoコマンドラインのthats。

あなたは可能性があり

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)キャリッジリターン、またはCHAR(13)+ CHAR(10)

+0

私はあなたが示唆したように応答してくれてありがとう、しかし、私はスクリプトを実行すると、それはtxtファイルを作成しません – user6007010

関連する問題