ich die neueste Version von PostgreSQL läuft 9.4.5-1.pgdg14.04+1
und bin versucht, die Länge eines JSONB Array zu berechnen, wie in dem hier PostgreSQL 9.4 Documentationberechnen JSONB Array Länge Mit PostgreSQL 9.4
mit der JSON_ARRAY_LENGTH
Funktion beschrieben ist die genaue Abfrage ich bin versucht zu laufen:
SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length
Wenn ich diese Abfrage ausführen, würde ich erwarten, einen Wert von 2
, sondern bin Begegnung mit dem Fehler zurückgegeben werden: ERROR: function json_array_length(jsonb) does not exist
Fehle ich etwas sehr offensichtlich in der Dokumentation? Es heißt konkret, Sie können JSON_ARRAY_LENGTH
entweder einen json
oder jsonb
Datentyp aufrufen. Ich werfe explizit auf jsonb
, also bin ich etwas verloren.
Hat jemand anderes dieses Problem oder würde jemand darauf hinweisen, was ich hier falsch mache?
UPDATE: Ich Mis-Lesen Sie die Dokumentation
ich JSONB_ARRAY_LENGTH
genannt haben sollte, nicht JSON_ARRAY_LENGTH
. Beachten Sie das "B" nach "JSON". Danke Leute.
kann ich nicht, wo „es speziell Sie JSON_ARRAY_LENGTH vorbei entweder eine json oder jsonb Datentyp kann Rufzustände“ finden - könnte man es wörtlich zitieren ?. – klin
Muss ein Missverständnis sein. [Das Handbuch sagt] (http://www.postgresql.org/docs/current/interactive/functions-json.html): 'json_array_length (json) jsonb_array_length (jsonb)'. –
wie @klin sagt, ich denke, dass Sie die Dokumentation falsch lesen, es zeigt, dass Sie entweder 'json_' oder' jsonb_' Versionen der Funktionen je nach Datentyp aufrufen müssen – Doon