sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur tar jag bort enstaka citattecken från en tabell i postgresql?

Bättre använd replace() för detta:

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

Mycket snabbare än regexp_replace() och den ersätter "globalt" - alla förekomster av söksträngen. Det tidigare godkända svaret av @beny23 hade fel i detta avseende. Det ersatte endast första förekomster, måste vara:

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

Notera den extra parametern 'g' för "globalt". Läs om strängfunktioner i manualen .

Bortsett från:det kanoniska (och SQL-standard) sättet att undkomma enstaka citattecken (' ) i strängliteral är att dubbla dem ('' ). Att använda escapesekvenser i Posix-stil fungerar också såklart. Detaljer:



  1. INFOGA I .. PÅ DUBLIKATNYCKELUPPDATERING för flera objekt

  2. JDBC ERROR:08S01 händer ibland

  3. kopiera från en databas till en annan med Oracle sql-utvecklare - anslutningen misslyckades

  4. Mysql:hitta antal rader som har samma värde en efter en