使用自定义字符串分隔SQL Server输出

时间:2011-04-18 20:18:10

标签: sql sql-server delimited-text

我正在MS SQL Server中运行一个作业,该作业输出一个文本文件,列之间有空格。我想要做的是在每列之间指定一个特定的字符序列作为分隔符。

例如,我希望输出看起来像:

Apple%%%red%%%fruit  
banana%%%yellow%%%fruit  
onion%%%White%%%veggie

在此示例中,%%%是分隔符。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

假设您正在使用作业步骤的输出文件,并且输出文件当前的结构如下:

---- --------
row1 somedata
row2 somedata

您可以使用“+”连接列,并根据需要调整百分号。因此,作业步骤定义将包含:

select column1 + '%%%' + column2 from table1;

输出看起来像:

---------------
row1%%%somedata
row2%%%somedata

这假设您可以将每行结果连接到一个列中。为此,您需要转换/转换非字符列值。

答案 1 :(得分:1)

我的猜测是你正在寻找与Oracle的P / SQL命令“set colsep”命令等效的T-SQL。此命令允许您更改输出的分隔符​​。例如,要使其成分号,您可以调用:

  

设置colsep“;”

但是在SQL Server中......我看到了这样做的方法。

使用“bcp”实用程序,您可以指定分隔符并写入文件。他是指示:

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

查看-t选项以更改分隔符。