sql >> Database >  >> RDS >> PostgreSQL

Postgres-fout bij invoegen - ERROR:ongeldige bytereeks voor codering van UTF8:0x00

PostgreSQL biedt geen ondersteuning voor het opslaan van NULL-tekens (\0x00) in tekstvelden (dit is duidelijk anders dan de NULL-waarde van de database, die volledig wordt ondersteund).

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

Als u het NULL-teken moet opslaan, moet u een bytea-veld gebruiken - dat alles zou moeten opslaan wat u maar wilt, maar er geen tekstbewerkingen op ondersteunt.

Aangezien PostgreSQL het niet ondersteunt in tekstwaarden, is er geen goede manier om het te laten verwijderen. Je zou je gegevens in bytea kunnen importeren en later naar tekst kunnen converteren met een speciale functie (in perl of zoiets, misschien?), maar het zal waarschijnlijk gemakkelijker zijn om dat te doen in de voorbewerking voordat je het laadt.



  1. Hoe rond je een gemiddelde af op 2 decimalen in PostgreSQL?

  2. Oracle-documentatie

  3. COALESCE-functie in TSQL

  4. Neo4j - Laat een beperking vallen met Cypher