我有一个使用 WIN1252 编码的 Postgres 数据库 bg
。为了解决 UTF8 转换问题,我想从我的数据中删除像 0x9D 这样的值。我如何从 bg.bg."DEV"
中名为 comments
的列中删除这些值?
基于 this question ,我试过:
UPDATE bg.bg."DEV"
SET "comments" = REPLACE(comments, X'9D','')
WHERE "comments" like '%'||x'9D'||'%';
然而这抛出:
ERROR: "%" is not a valid binary digit
LINE 3: WHERE "comments" like '%'||x'9D'||'%';
^
最佳答案
最后我能够使用以下内容:
UPDATE tablename SET field=replace(field, chr(x'9D'::int), '')
WHERE strpos(field,chr(x'9D'::int))>0;
根据 dba.stackexchange 上的这个问题
关于database - 从 Postgres 数据中删除十六进制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448115/