Postgre 查找数据乱码

数据库 中文乱码 postgre

最近使用hive往postgre传输数据后,发现postgre中包含乱码,所以想找到对应的行并删除。
网上找了好久,终于看到一篇文章可以用,所以记录下来
https://blog.csdn.net/weixin_34237596/article/details/90590065

查找中文乱码的行

select * from sap_full_year_forecast where item ~ '[\ub0a1-\uf7ff]';

postgre 中~ 的含义
操作符 ~~ 等效于 LIKE, 而 ~~* 对应 ILIKE。 还有 !~~ 和 !~~* 操作符 分别代表 NOT LIKE 和 NOT ILIKE。
另外:
~  匹配正则表达式,大小写相关 'thomas' ~ '.*thomas.*' 
~*  匹配正则表达式,大小写无关 'thomas' ~* '.*Thomas.*' 
!~  不匹配正则表达式,大小写相关 'thomas' !~ '.*Thomas.*' 
!~*  不匹配正则表达式,大小写无关 'thomas' !~* '.*vadim.*'

image.png

查找中文行

select * from sap_full_year_forecast where hotel_code = 'WUHMA'  and item ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]';


image.png

本文中我只是在使用postgre 数据库,没有测试MySQL 和oracle,但大体思路应该是一致的吧。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容