sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres-fejl ved indsættelse - FEJL:ugyldig bytesekvens til kodning af UTF8:0x00

PostgreSQL understøtter ikke lagring af NULL (\0x00) tegn i tekstfelter (dette er naturligvis forskellig fra databasens NULL værdi, som er fuldt understøttet).

Kilde:http://www.postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-UESCAPE

Hvis du skal gemme NULL-tegnet, skal du bruge et bytea-felt - som skal gemme alt, hvad du vil, men som ikke understøtter tekstoperationer på det.

I betragtning af at PostgreSQL ikke understøtter det i tekstværdier, er der ingen god måde at få det til at fjerne det. Du kan importere dine data til bytea og senere konvertere dem til tekst ved hjælp af en speciel funktion (i perl eller noget, måske?), men det vil sandsynligvis være nemmere at gøre det i forbehandlingen, før du indlæser det.



  1. Ret "Aritmetisk overløbsfejl ved konvertering af int til datatype numerisk" i SQL Server

  2. Kommaseparerede værdier til IN-funktion i oracle

  3. Oracle Connection Pool Class

  4. Crystal Reports vs. Microsoft SQL Server Reporting Services