Sql 添加导出到文本文件时表中不存在的另一个字符

Sql 添加导出到文本文件时表中不存在的另一个字符,sql,sql-server,sql-server-2008,stored-procedures,Sql,Sql Server,Sql Server 2008,Stored Procedures,我创建了一个将数据导出到文本文件的过程。可能是这样的: 'bcp "select name,age,grade from test" queryout C:\test.txt 但是,我想添加一些其他字符,如|。输出文件内容如下所示: 琼斯| 6 C。 这是最方便的方法。是否要创建临时表?您可以连接查询中的字段: select name + '|' + cast(age as varchar(255)), grade from test 我不能100%确定这是否能得到你想要的结果。您可以将所有

我创建了一个将数据导出到文本文件的过程。可能是这样的:

'bcp "select name,age,grade from test" queryout C:\test.txt
但是,我想添加一些其他字符,如|。输出文件内容如下所示: 琼斯| 6 C。
这是最方便的方法。是否要创建临时表?

您可以连接查询中的字段:

select name + '|' + cast(age as varchar(255)), grade
from test
我不能100%确定这是否能得到你想要的结果。您可以将所有字段放在一个字符串中,这可能比使用格式文件更简单


或者,如果要在每个字段之间放置一个
|
的字段终止符,可以使用
-t
。这些都包含在中(无可否认,这有点冗长,很难找到任何内容)。

您的意思是使用
|
作为分隔符?使用
BCP
格式file@Squirrel这是一个很好的答案。我从来没有想过这个解决方案。因此,我的命令应该是“bcp”从test中选择姓名、年龄、年级“-i test.fmt queryout C:\test.txt是否正确?应该是
-f test.fmt
确定。我试试看。感谢you@Squirrel如果我的命令中已经有了复制功能,该怎么办。示例:选择名称、复制('0',2-len(年龄))、年龄、年级