Heim > Datenbank > MySQL-Tutorial > Wie wandelt man PostgreSQL-JSONB-Daten für mathematische Operationen in Float um?

Wie wandelt man PostgreSQL-JSONB-Daten für mathematische Operationen in Float um?

DDD
Freigeben: 2024-12-29 14:48:11
Original
853 Leute haben es durchsucht

How to Cast PostgreSQL JSONB Data to Float for Mathematical Operations?

Umwandeln von PostgreSQL-JSONB-Daten in Float

In PostgreSQL führt der Versuch, mathematische Operationen mit JSONB-Daten durchzuführen, bei der Konvertierung oft zu Fehlern wie „Operator existiert nicht“. float wird nicht explizit angegeben.

Um dieses Problem zu beheben, ziehen Sie den unterschiedlichen JSON-Wertabruf in Betracht Operatoren:

  • -> (Pfeiloperator): Gibt JSON-Werte als JSON zurück.
  • ->> (Double Pfeiloperator): Gibt Textwerte zurück.

Da Floats als Text in JSONB gespeichert werden, Es ist notwendig, das ->> zu verwenden. (Doppelpfeil)-Operator, um die Zeichenfolgendarstellung des Floats zu extrahieren, bevor versucht wird, ihn in Float umzuwandeln.

Betrachten Sie beispielsweise die folgende Abfrage:

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

Hier ist das -> Der (Pfeil-)Operator wird zunächst zum Extrahieren des JSON-Objekts „Position“ verwendet. Das ->> Der Operator (Doppelpfeil) wird dann verwendet, um den Zeichenfolgewert von „lat“ abzurufen. Schließlich wird der Casting-Operator ::float verwendet, um die Zeichenfolge in einen Float umzuwandeln.

Durch die Verwendung des entsprechenden JSON-Wertabrufoperators können Sie JSONB-Werte in Ihren PostgreSQL-Abfragen erfolgreich in Floats umwandeln.

Das obige ist der detaillierte Inhalt vonWie wandelt man PostgreSQL-JSONB-Daten für mathematische Operationen in Float um?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage