我需要一些帮助,以确定是否有可能以管道|
分隔格式获取sybase sql查询的输出。
select top 10 * from mytable
返回的数据如下
我正在使用sybase ASE 15作为数据库来运行查询。
name age number
sam 20 1233456
我需要以下格式的数据
name|age|number
sam|20|123456
预先感谢
答案 0 :(得分:0)
此问题与数据库本身无关,而与客户端-isql有关。对于isql,您可以实现此结果,但可以这样编写查询:
select top 10
name || '|' || convert(varchar, age) || '|' || convert(varchar, number)
from mytable
或者,就像GMB在注释中声明的那样,您可以使用允许格式化输出的客户端。除了isql。
答案 1 :(得分:0)
如果您要使用 isql ,最好的建议是RTFM。 -s
选项似乎可以满足您的要求。如果留下尾随空白,则可以使用类似以下方式将其通过管道导入 sed :
isql -s '|' ... | sed -E 's/ +\|//g'