PostgreSQL筛选包含中文的字段

发布时间 2023-12-06 18:11:09作者: MrSponge

筛选中文内容

匹配一个或多个非中文字符

SELECT * FROM table1 WHERE field1 ~ '[^\u4e00-\u9fa5]+';

[\u4e00-\u9fa5] 表示匹配中文字符,加上前面的取反符号 ^ 即表示匹配不是中文字符,+表示一个或多个。\u4e00-\u9fa5 是中文字符的 Unicode 范围。

如果想筛选字段不包含中文可以参考下面语句:

SELECT * FROM table1 WHERE NOT (field1 ~ '[\u4e00-\u9fa5]');

筛选只包含中文的字段

SELECT * FROM table1 WHERE NOT (field1 ~ '[^\u4e00-\u9fa5]');