PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Was ist das E vor einem Postgres-String?

Gemäß der PostgreSQL-Dokumentation https://www.postgresql.org/ docs/9.0/sql-syntax-lexical.html (Hervorhebung von mir)

Die Verwendung von \\ in Ihrer Zeichenfolge bedeutet, dass eine Escape-Sequenz maskiert wird, wahrscheinlich um bei der Übertragung und Speicherung in einer .sql sicher zu sein Datei. Die wörtliche String, der tatsächlich an ST_GeomFromWKB übergeben wurde Funktion wird sein:

\001\001\000\000\000\321\256B\312O\304Q\300\347\030\220\275\336%[email protected]

Diese Folgen von 3 oder 4 Zeichen zwischen Schrägstrichen würden dann von ST_GeoFromWKB interpretiert direkt.

Die Dokumentation für ST_GeoFromWKB ( https://postgis.net/docs/ST_GeomFromWKB.html ) besagt:

Leider wird nicht angegeben, welches Format genau die "bekannte binäre Darstellung" tatsächlich ist.

Es stellt sich heraus, dass der Inhalt des Strings von dem verwendeten Koordinatensystem abhängt, das durch SRID angegeben wird Parameter. In diesem Fall 4326 entspricht WGS84 :https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84

Sie müssen weiter lesen und recherchieren, um das zu entwirren.