用单引号替换双引号在PostgreSQL 12中不起作用

时间:2019-11-19 07:33:43

标签: sql postgresql postgresql-11 postgresql-12

用单引号替换为双单引号在PostgreSQL 12中无法正常工作,在PostgreSQL 11中运行良好。

PostgreSQL 12

查询:post_install

输出文本:Podfile

PostgreSQL 11

查询:SELECT REPLACE(patient.note,'''',''''''), * FROM patient

输出文本:Medicare Secondary Veteran�s Administration

让我知道您是否有解决方案。

1 个答案:

答案 0 :(得分:3)

这与您的替换无关,因为所讨论的字符不是撇号'(U + 0027),而是“右单引号”字符(U + 2019 )。

可能您与PostgreSQL v12的连接的客户端编码设置不正确,因此该字符被转换为不需要的字符。将角色转移到v12可能也有一个错误。

要对此进行诊断,请尝试

SELECT note::bytea FROM patient;

如果其中包含e28099,则数据库中的数据很好,而问题出在您的客户端编码上。假设数据库的服务器编码为UTF8