You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中UPDATE时如何将字段当前值传入encode函数?

PostgreSQL中对varchar字段做Base64编码的解决方法

你遇到的错误是因为encode函数的第一个参数要求是bytea类型,但你的name字段是character varying(即varchar)类型——PostgreSQL不会自动把字段值隐式转换为bytea,但字符串字面量(比如'test')会被自动适配,所以直接用字段会报错。

解决方法很简单,显式将name字段转换成bytea类型即可,推荐用convert_to函数指定编码(避免编码不一致问题):

update person
set name = encode(convert_to(name, 'UTF8'), 'base64');

如果确定数据库默认编码和字段编码一致,也可以用强制类型转换的写法:

update person
set name = encode(name::bytea, 'base64');

这样就能把name字段的当前值传入encode函数完成Base64编码了。

内容的提问来源于stack exchange,提问作者Karnimani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:55:14