检测postgres中的特殊字符

时间:2014-01-01 18:32:22

标签: postgresql

我在postgres 9 db中有用户名,例如

Ron R ty ♥☆♡★Green Eyes♥☆♡★
Sωℯℯт۞Angel 2 ᾧ➍ᾧ ty Լù☪ƖƒεƦ

db以utf-8编码

有没有办法在SQL中检测标准罗马字符之外是否存在这些特殊字符?

我尝试使用此处记录的convert http://www.postgresql.org/docs/9.1/static/functions-string.html,但只有错误。

1 个答案:

答案 0 :(得分:4)

尝试在基于unicode代码点的正则表达式字符范围上进行匹配。

WHERE uname ~ '[\x80-\xffff]';

或者,如果您想要更严格,可以排除任何非字母数字。

WHERE uname ~ '[^[:alnum:]]

其他角色类也可用。有关详细信息,请参阅the docs