在Postgres中,当我想将varchar保存到bytea列时,这可以通过隐式转换来简化。所以我可以简单地执行
UPDATE my_table SET my_bytea_col = 'This varchar will be converted' WHERE id = 1;我一直在用这个。但是,我偶尔会看到本专栏的内容是varchar。IDE将为您处理这一问题,但在我的用例中,我更希望返回的结果是将bytea转换回varchar。
当然,在更复杂的选择中,我也尝试过这样的方法:
select my_bytea_col::VARCHAR from my_table WHERE id = 1然而,这并不返回我原来的可读性文本。否则,在postgres在更新和插入中的隐式转换之后,我如何才能将我的back转换回原来的varchar呢?
发布于 2020-08-17 14:09:29
如果字符串编码为UTF-8,则可以使用
SELECT convert_from(my_bytea_col, 'UTF8')
FROM my_table
WHERE id = 1;如果编码不同,则需要向convert_from提供适当的第二个参数(例如,convert_from)。
请允许我指出,我认为将文本字符串存储为bytea不是一个好主意。
https://stackoverflow.com/questions/63452316
复制相似问题