Postgres. 如何将包含 '\' 的字符串转换为 bytea?

8

我有一个字符串'test\data',或者只有一个反斜杠符号'\'

如何将其转换为bytea?


4
请使用 convert_to 函数:http://www.postgresql.org/docs/current/static/functions-binarystring.html - user330315
1
选择转换为 UTF8 编码的字符串 test\dataselect convert_to('test\data'::text, 'utf8') - marvinorez
1个回答

3

如果从bytea转换,则需要特殊处理反斜杠,请参见src/backend/utils/adt/varlena.c

因此,在将其转换为bytea之前,使用replace('test\data', '\', '\\')::bytea转义每个反斜杠。

您还可以使用已建议的函数convert_to(text, encoding) bytea。但请注意,此函数不是IMMUTABLE,因此无法直接在任何上下文中使用。


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