我正在MS SQL Server中运行一个作业,该作业输出一个文本文件,列之间有空格。我想要做的是在每列之间指定一个特定的字符序列作为分隔符。
例如,我希望输出看起来像:
Apple%%%red%%%fruit
banana%%%yellow%%%fruit
onion%%%White%%%veggie
在此示例中,%%%是分隔符。
我该怎么做?
答案 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选项以更改分隔符。