是否停止PostgreSQL将值拆分为多行? [英] Stop PostgreSQL from spliting value(s) in multiple lines?

查看:0
本文介绍了是否停止PostgreSQL将值拆分为多行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用encode(foo::bytea, 'base64')将二进制数据(ByteA)数据类型转换为字符串,但输出被拆分成多行:

-[ RECORD 1 ]-+-----------------------------------------------------------------------
 req_id       | 132675
 b_string     | d4IF4jCCBd4GCSqGSIb3DQEHAqCCBc8wggXLAgEDMQ0wCwYJBAIBMIGYBgZngQgBAQGg+
              | gY0EgYowgYcCAQAwCwYJYIZIAQAwCwYJYIZIAWUDBAIHUwUdH0JybzpY2evf+v9Xg86b+
              | HSGTGYBIb/QwJQIBAgQg1M6/cJ+S39XY1lm43oenxJNLrYcc3hVw7fgwJQIBDgQgIAil+
              | 1JnYbdS0p4pK07kMkb/dbMcxryx6mqbLTzx+YJ6gggQbMI2gAwIBAgIESS7vwTAKBggq+
              | LUxRjUXbTgfGwUKOFwemsc4KXbsLZ13MkbNfAQ==

如何才能改为获取单个字符串?

更新:基于@LaurenzAlbe的解决方案

为了完整起见,我最终这样做,并得到了我想要的结果:

translate(encode(foo::bytea, 'base64'), E'
', '')

推荐答案

psql不会将字符串拆分成多行。

它是包含换行符(ASCII 10)的字符串,psql会准确地显示它们。每行末尾的+psql告诉您该值将继续到下一行的方式。

您可以使用未对齐模式(psql选项-A)来去除+,但输出格式那时就不那么吸引人了。

您可以使用

删除字符串中的换行符
SELECT translate(..., E'
', '');

decode将能够处理这样的字符串。

这篇关于是否停止PostgreSQL将值拆分为多行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆