1

我需要一些帮助来确定是否有可能以管道|分隔格式获取 sybase sql 查询的输出。

select top 10 * from  mytable 

返回的数据如下

我使用 sybase ASE 15 作为我的数据库来运行查询。

name age number 
sam 20 1233456

我需要以下格式的数据

name|age|number
sam|20|123456

提前致谢

4

2 回答 2

0

这个问题不是关于数据库本身,而是关于客户端 - isql。对于 isql,您可以实现此结果,但要像这样编写查询:

select top 10 
  name || '|' || convert(varchar, age) || '|' || convert(varchar, number) 
from  mytable

或者,就像 GMB 在评论中声明的那样,您可以使用允许格式化输出的客户端。isql 以外的东西。

于 2018-12-07T19:15:22.510 回答
0

如果您要使用isql,最好的建议是RTFM。看起来该-s选项会做你想做的事。如果它留下尾随空白,您可以使用以下内容将其通过管道传输到sed中:

isql -s '|' ... | sed -E 's/ +\|//g'
于 2018-12-07T23:14:45.700 回答