使用SQL的文件中的新行char

时间:2014-12-27 15:59:52

标签: sql sql-server-2008-r2

我正在制作一些测试变量并在其中插入一个新的行字符。当我打印出来时,一切都还可以,一个字低于第二个字。但是当我将此变量的值写入* .txt文件时,新行字符不起作用。 这是我的例子:

DECLARE @cmd varchar(200), @var varchar(200)
SET @var = 'Hello' + CHAR(13) + 'world'

SET @cmd = 'echo ' + @var + ' > E:\s.txt'
print @cmd
EXEC master..xp_cmdshell @cmd

我尝试使用DECLARE @NewLineChar AS CHAR(2) = CHAR(13) + CHAR(10)\r\n代替此CHAR(13),但没有效果:/有人可以给我一些关于这个问题的小提示吗? 我使用的是Microsoft SQL Server 2008 R2

1 个答案:

答案 0 :(得分:0)

这有用吗?

DECLARE @cmd varchar(200), @var varchar(200);
SET @var = 'Hello
world';

SET @cmd = 'echo ' + @var + ' > E:\s.txt';
print @cmd;
EXEC master..xp_cmdshell @cmd;

编辑:

我相信你的问题是逃避Windows shell中的新行。尝试转义字符'^'

DECLARE @cmd varchar(200), @var varchar(200);
SET @var = 'Hello^
world';

SET @cmd = 'echo ' + @var + ' > E:\s.txt';
print @cmd;
EXEC master..xp_cmdshell @cmd;

确保'^'之后没有空格或其他字符。