Heim >Datenbank >MySQL-Tutorial >Wie konvertiert man JSONB in PostgreSQL richtig in Float?
JSONB-zu-Float-Konvertierung in PostgreSQL 9.4
Ein PostgreSQL-Benutzer hat versucht, eine JSONB-Spalte mit der folgenden Abfrage in eine Float-Spalte zu konvertieren:
SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;
Sie stießen jedoch auf das Fehler:
ERROR: operator does not exist: jsonb + numeric
Um dieses Problem zu beheben, versuchte der Benutzer eine explizite Umwandlung mit dem ::float-Operator, was zu dem Fehler führte:
ERROR: operator does not exist: jsonb + double precesion
Um JSONB-Werte in Floats zu konvertieren, ist es Es ist wichtig, die korrekte Bedienerpriorität einzuhalten. Das -> Der Operator gibt einen JSON-Wert zurück, während der ->> Der Operator gibt einen Textwert zurück. Um erfolgreich in Float umzuwandeln, müssen Sie ->> verwenden. Operator.
Die korrekte Abfragesyntax lautet:
SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
Durch die Verwendung des ->> Operator wird der JSONB-Wert zunächst in Text konvertiert, der dann mit dem ::float-Operator in Float umgewandelt werden kann.
Das obige ist der detaillierte Inhalt vonWie konvertiert man JSONB in PostgreSQL richtig in Float?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!