如何在PostgreSQL8.2中将Base64字符串转换为bytea

3

我需要将base64字符串转换为bytea类型。但是当我通过pgAdminIII执行SQL语句:

select decode("ygAAA", 'base64');

我收到了以下错误信息:

ERROR:  syntax error at or near ")"
LINE 1: select decode('ygAAA', 'base64');
                                                              ^
********** 错误 **********

ERROR: syntax error at or near ")"
SQL 状态: 42601
字符:59

我的postgresql版本是8.2.15。我可以使用编码函数。 我在谷歌上搜索了,但没有找到解决方案。有人能帮助我吗?谢谢!


2
你的错误与你的查询不相关。 - Vao Tsun
1个回答

4

尝试使用单引号而不是双引号。此外,Base64 字符串将每 4 个字符转换成 3 个字节(24 位的 3 个字节分散在 4 个字符的低 6 位之间)。因此,你的 Base64 字符串无效。

以下代码可行:

select decode('ygAA', 'base64');

希望这能有所帮助, 亚当。

我尝试过了,但是没有成功。我向 EMC^2 的工程师询问,他说在 Greenplum 中解码函数无法正常工作。很抱歉,我没有描述清楚,我是在 Greenplum 数据库 4.3.8.1 build 1 中尝试的。还是非常感谢! - yelan_fn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接