sql >> Database >  >> RDS >> PostgreSQL

Hoe verwijder ik enkele aanhalingstekens uit een tabel in postgresql?

Beter gebruik replace() hiervoor:

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

Veel sneller dan regexp_replace() en het vervangt "globaal" - alle exemplaren van de zoekreeks. Het eerder geaccepteerde antwoord van @beny23 was in dit opzicht fout. Het verving alleen de eerste voorvallen, zou moeten zijn:

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

Let op de extra parameter 'g' voor "wereldwijd". Lees over stringfuncties in de handleiding .

Terzijde:de canonieke (en SQL-standaard) manier om enkele aanhalingstekens te ontsnappen (' ) in letterlijke tekenreeksen is om ze te verdubbelen ('' ). Het gebruik van ontsnappingsreeksen in Posix-stijl werkt natuurlijk ook. Details:



  1. Rails 3 - Gretig laden met voorwaarden

  2. enkele aanhalingstekens in SQL Query

  3. eenvoudige sql-query, resultaten combineren en delen

  4. Java krijgt het automatisch oplopende nummer van de huidige ingevoegde rij om het voor een andere zoekopdracht te gebruiken?