使用自定义字符串分隔SQL Server输出
我正在MS SQL Server中运行一个作业,该作业输出一个文本文件,列之间有空格。我想做的是在每列之间指定一个特定的字符序列作为分隔符 例如,我希望输出如下所示:使用自定义字符串分隔SQL Server输出,sql,sql-server,delimited-text,Sql,Sql Server,Delimited Text,我正在MS SQL Server中运行一个作业,该作业输出一个文本文件,列之间有空格。我想做的是在每列之间指定一个特定的字符序列作为分隔符 例如,我希望输出如下所示: Apple%%%red%%%fruit banana%%%yellow%%%fruit onion%%%White%%%veggie --------------- row1%%%somedata row2%%%somedata 在本例中,%%是分隔符 如何执行此操作?假设您正在使用作业步骤的输出文件,并且输出文件当前
Apple%%%red%%%fruit
banana%%%yellow%%%fruit
onion%%%White%%%veggie
---------------
row1%%%somedata
row2%%%somedata
在本例中,%%是分隔符
如何执行此操作?假设您正在使用作业步骤的输出文件,并且输出文件当前的结构如下所示:
---- --------
row1 somedata
row2 somedata
您可以使用“+”将列连接起来,并根据需要插入百分号。因此,作业步骤定义将包含:
select column1 + '%%%' + column2 from table1;
输出结果如下所示:
Apple%%%red%%%fruit
banana%%%yellow%%%fruit
onion%%%White%%%veggie
---------------
row1%%%somedata
row2%%%somedata
这假设您可以将结果的每一行连接到单个列中。您需要强制转换/转换非字符列值才能使其工作。我猜您正在寻找与Oracle的p/SQL命令“set colsep”命令等效的T-SQL。此命令允许您更改输出的delimter。例如,要使其成为分号,您可以调用: 设置colsep“ 但是在SQL Server中。。。我知道怎么做 使用“bcp”实用程序,您可以指定分隔符并写入文件。他有以下指示:
查看-t选项以更改分隔符。这是
MySQL
还是SQL Server
?它们不是同一件事……标题是说MySQL
假设这是一个错误?您目前是如何生成此文件的?从表1中选择column1+'%%'+column2;不起作用,但从表1中选择第1列、%%、第2列;做