SQL获取所有列的分隔结果

时间:2012-12-20 13:37:10

标签: sql sybase

我正在编写一个简单的SQL语句来生成要加载到数据库中的BCP文件。

这些BCP文件采用以下格式:

1|name|otherfield|otherfield1

要构建我正在做的文件:

SELECT id+"|"+name+"|"+otherfield+"|"+otherfield1+"\n" FROM table

是否有选择every column而不必命名的select语句?

这样的东西
SELECT * with "|" from Table

3 个答案:

答案 0 :(得分:4)

您可以使用SELECT ... INTO OUTFILE

SELECT * INTO OUTFILE 'filename'
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
FROM yourtable;

http://dev.mysql.com/doc/refman/5.6/en/select-into.html

答案 1 :(得分:1)

如果您想要输出文件,那么您可以试试这个

SELECT *
INTO OUTFILE 'D://abc.txt'
FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r\n'
FROM table

这里我使用\r\n输出新行上的每一行(ON窗口)

答案 2 :(得分:1)

对于Sybase ASE,为什么不使用内置的 bcp 实用程序更改删除程序。它默认会捕获所有列。

bcp MYDATABASE..MYTABLE out MYTABLEFILE.bcp -Uusername -Ppassword -SMYSERVER -c -t|

您必须使用 -t 选项设置列分隔符,该分隔符只能与指定“字符”的 -c 选项一起使用(人类可读)基于bcp输出。如果您使用的是基于Unix / Linux的系统,则可能必须通过管道,例如的 - \吨