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

postgresqlのテーブルから一重引用符を削除するにはどうすればよいですか?

    replace()を使用することをお勧めします このために:

    UPDATE tbl SET col = replace(col, '''', '');
    

    regexp_replace()よりもはるかに高速 そしてそれは「グローバルに」-検索文字列のすべての出現を置き換えます。以前に承認された@beny23による回答 この点で間違っていました。最初の出現のみを置き換えました。次のようにする必要があります:

    UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');
    

    追加のパラメータ'g'に注意してください 「グローバルに」のために。マニュアルの文字列関数 について読む 。

    余談ですが、一重引用符をエスケープするための標準的な(およびSQL標準の)方法 (' )文字列リテラルでは、それらを2倍にします('' )。もちろん、Posixスタイルのエスケープシーケンスを使用することもできます。詳細:



    1. Pl/sqlでメールを送信する方法

    2. 列名でLIKEを使用する方法

    3. 場所の変更による合計時間

    4. SQLインジェクションはどのように機能し、どのように保護しますか