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

Wie wandelt man PostgreSQL JSONB für arithmetische Operationen in Float um?

Linda Hamilton
Freigeben: 2025-01-02 21:18:38
Original
258 Leute haben es durchsucht

How to Cast PostgreSQL JSONB to Float for Arithmetic Operations?

Umwandeln von PostgreSQLs JSONB in ​​Float

Beim Versuch, arithmetische Operationen für eine PostgreSQL-Spalte vom Typ JSONB mit numerischen Werten auszuführen, können Fehler auftreten um Nichtübereinstimmungen einzugeben. In diesem Artikel wird gezeigt, wie Sie dieses Problem beheben und JSONB-Werte erfolgreich in Gleitkommazahlen umwandeln können.

Die Hauptursache für die Fehler in der bereitgestellten Abfrage ist der Versuch, einen numerischen Wert (1,0) zu einem JSONB-Wert hinzuzufügen, was zu einem Ergebnis führt im Fehler „Operator existiert nicht“ angezeigt. Um dieses Problem zu lösen, können Sie eine Umwandlung verwenden, um den JSONB-Wert in einen Float umzuwandeln, bevor Sie den Vorgang ausführen.

Eine einfache Umwandlung des JSONB-Werts in einen Float reicht jedoch möglicherweise nicht aus, da PostgreSQL zwei Optionen für den Zugriff auf JSON-Werte bietet:

  • json_data->'position': Gibt einen JSON-Wert zurück, der nicht direkt in a umgewandelt werden kann float.
  • json_data->>'position': Gibt einen Textwert zurück, der mit ::float in einen Float umgewandelt werden kann.

In Ihrem speziellen Fall, da Wenn Sie wissen, dass es sich bei den Breitengradwerten ausschließlich um JSON-Zahlen handelt, können Sie die folgende Abfrage verwenden, um sie in Gleitkommazahlen umzuwandeln:

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

Diese überarbeitete Abfrage sollte erfolgreich umgewandelt werden JSONB-Lat-Werte in Floats umwandeln, sodass Sie die gewünschten Vorgänge ausführen können.

Das obige ist der detaillierte Inhalt vonWie wandelt man PostgreSQL JSONB für arithmetische 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage