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

列の値の特殊文字を削除/置換しますか?

    regexp_replaceを使用できます 次のように、数字と文字のみを残す関数:

    update mytable
       set myfield = regexp_replace(myfield, '[^\w]+','');
    

    つまり、数字、文字、または下線以外のものはすべて何にも置き換えられません(-, space, dot, commaを含む)。 など)。

    _も含める場合 置き換えられる(\w そのままにします)正規表現を[^\w]+|_に変更できます 。

    または、削除する必要のある文字を厳密にしたい場合は、[- ]+を使用します。 この場合、ここにダッシュとスペースがあります。

    また、 LuizSignorelly が提案しているように すべてのオカレンスを置き換えるために使用できます:

        update mytable
           set myfield = regexp_replace(myfield, '[^\w]+','','g');
    


    1. Partition ByまたはMaxの使用方法は?

    2. PostgreSQLのJSONデータ型のサイズ制限

    3. mysqlの「ビューからテーブルを作成する」構文は簡単ですか?

    4. ダウンタイムなしでMySQLをAmazonEC2からオンプレミスデータセンターに移行する方法