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

PostgreSQLのregexp_replaceUnicode

    通常の数字の場合はdigitを使用します [[:digit:]]としての文字クラス または省略形の\d

    SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
    

    結果:

     regexp_replace
    ----------------
     sysds
    (1 row)
    

    他の数値(たとえば¼)はそれほど単純ではなく、より正確にはドキュメント ctype(ロケール)に依存していると言います:

    ただし、内部PL / Perl手続き型言語を使用して、必要なUnicode文字クラス\p{}を使用してサーバー側関数を作成することはできます。 :

    CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
    RETURNS text AS $$
        $s = $_[0];
        $s =~ s/\p{N}//g;
        return $s;
    $$ LANGUAGE plperl;
    

    第41章 を確認してください このような関数の記述方法の詳細については、ドキュメントから。




    1. 今日、今週、先月までの訪問数と合計[MySQLクエリ]

    2. Oracle 11gCONNECTBYと複数のテーブルを使用したCREATEVIEW

    3. MySQLで非ヌル制約を削除する方法

    4. データベースに百万のテーブルを作成しますか?