sql >> Databasteknik >  >> RDS >> PostgreSQL

Ersätt tecken med flerteckensträngar

Din serverkodning verkar vara UTF8.
Jag misstänker att din client_encoding inte matchar, vilket kan ge dig en felaktig bild av vad du har att göra med. Kolla med:

SHOW client_encoding;   -- in your actual session

Och läs de här relaterade svaren:
Kan inte infoga tyska tecken i Postgres
Byt ut unicode-tecken i PostgreSQL

Resten av verktygskedjan måste också vara synkroniserad. När man använder puTTY, till exempel, måste man se till att terminalen överensstämmer med resten:Change settings... Window -> Translation -> Remote character set =UTF-8 .

När det gäller din första fråga har du redan den bästa lösningen. Ett par omljud ersätts bäst med en sträng av replace() uttalanden.

Som du redan verkar veta är ersättning av enstaka tecken mer effektiva med (en enda) translate() uttalande.

Relaterat:



  1. hur man skriver SQL Query i cakephp?

  2. Django-fråga i One to Many-relationen

  3. NLS_COLLATION_NAME() Funktion i Oracle

  4. Hur konverterar man XML till OCI-Lob Object?