Heim > Datenbank > MySQL-Tutorial > Wie führt man arithmetische Operationen mit den JSONB- und Float-Typen von PostgreSQL korrekt durch?

Wie führt man arithmetische Operationen mit den JSONB- und Float-Typen von PostgreSQL korrekt durch?

Barbara Streisand
Freigeben: 2024-12-31 07:21:10
Original
531 Leute haben es durchsucht

How to Correctly Perform Arithmetic Operations with PostgreSQL's jsonb and Float Types?

Behebung des JSONB-zu-Float-Konvertierungsproblems von PostgreSQL

Beim Versuch, arithmetische Operationen mit dem JSONB-Typ von PostgreSQL und einem Float durchzuführen, können Benutzer auf Fehler stoßen zu Typinkompatibilität. Insbesondere die folgende Abfrage:

SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;
Nach dem Login kopieren

gibt den Fehler „Operator existiert nicht: jsonb numeric“ zurück. Selbst eine explizite Umwandlung mit der ::float-Syntax führt zu dem Fehler „Operator existiert nicht: jsonb double precision“.

Um dieses Problem zu beheben, können Benutzer die JSON-Operatorsyntax von PostgreSQL nutzen, um die erforderlichen Werte als zu extrahieren Text statt JSON. Das ->> Der Operator, der Text zurückgibt, kann wie folgt verwendet werden:

SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat
FROM updates
LIMIT 5
Nach dem Login kopieren

Durch die Verwendung des ->> Um den Breitengradwert als Text zu extrahieren, können Benutzer ihn dann in einen Gleitkommawert umwandeln und die gewünschte arithmetische Operation fehlerfrei ausführen. Diese Technik ermöglicht eine effiziente Handhabung von JSONB-Datentypen in PostgreSQL.

Das obige ist der detaillierte Inhalt vonWie führt man arithmetische Operationen mit den JSONB- und Float-Typen von PostgreSQL korrekt durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage