数据库
中文乱码
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.*'
查找中文行
select * from sap_full_year_forecast where hotel_code = 'WUHMA' and item ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]';
本文中我只是在使用postgre 数据库,没有测试MySQL 和oracle,但大体思路应该是一致的吧。