sql >> データベース >  >> RDS >> PostgreSQL

postgresqlの国際化された正規表現

    PostgreSQLは、.NETのようにUnicode文字データベースに基づく文字クラスをサポートしていません。より標準的な[[:alpha:]]を取得します 文字クラスですが、これはロケールに依存するため、おそらくカバーされません。

    不要なASCII文字をブラックリストに登録し、すべての非ASCII文字を許可するだけで解決できる場合があります。例:

    [^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]+
    

    (JavaScriptには非ASCII文字クラスもありません。または[[:alpha:]] 。)

    たとえば、与えられたv_text サニタイズするテキスト変数として:

    -- Allow internationalized text characters and remove undesired characters
    v_text = regexp_replace( lower(trim(v_text)), '[!"#$%&()*+,./:;<=>?\[\\\]\^_\|~]+', '', 'g' );
    



    1. PostGISの遅さの調査(2019年版)

    2. OracleMINUS演算子の説明

    3. SQL Serverで特定の文字のUnicode値を返す方法– UNICODE()

    4. SQL CASEステートメント:それは何であり、それを使用するための最良の方法は何ですか?