【问题标题】:Detecting special chars in postgres在 postgres 中检测特殊字符
【发布时间】:2014-01-01 18:32:21
【问题描述】:

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

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

数据库以 utf-8 编码

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

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

【问题讨论】:

    标签: postgresql


    【解决方案1】:

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

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

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

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

    其他字符类也可用。详情请见the docs

    【讨论】:

    • 抱歉回复迟了。
    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    相关资源
    最近更新 更多