我有这个问题:
begin
update res_partner_address rpa
set name = rp.name
from res_partner rp
where rpa.partner_id = rp.id
and rpa.name is NULL
end;
当我尝试更新该列时,出现此错误:
ERROR: value too long for type character varying(64)
因此name
和rp.name
的最大长度不同。有没有办法将值截断为name
的长度,所以我还是可以更新它?
答案 0 :(得分:5)
只需使用res_partner表中的前64个字符:
update res_partner_address rpa
set name = left(rp.name,64)
from res_partner rp
where rpa.partner_id = rp.id
and rpa.name is NULL