Heim >Datenbank >MySQL-Tutorial >Wie konvertiert man JSONB in ​​PostgreSQL richtig in Float?

Wie konvertiert man JSONB in ​​PostgreSQL richtig in Float?

Susan Sarandon
Susan SarandonOriginal
2025-01-02 18:37:43188Durchsuche

How to Correctly Convert JSONB to Float in PostgreSQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn