J'utilise la dernière version de PostgreSQL 9.4.5-1.pgdg14.04+1
, Et j'essaie de calculer la longueur d'un tableau JSONB en utilisant la fonction JSON_ARRAY_LENGTH
Comme décrit dans Documentation PostgreSQL 9.4
Voici la requête exacte que j'essaie d'exécuter:
SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length
Lorsque j'exécute cette requête, je m'attends à recevoir une valeur de 2
, Mais je rencontre plutôt l'erreur: ERROR: function json_array_length(jsonb) does not exist
Suis-je en train de manquer quelque chose de très évident dans la documentation? Il indique spécifiquement que vous pouvez appeler JSON_ARRAY_LENGTH
En passant un type de données json
ou jsonb
. Je transforme explicitement en jsonb
donc je suis un peu perdu.
Quelqu'un d'autre a-t-il rencontré ce problème ou quelqu'un pourrait-il signaler ce que je fais mal ici?
MISE À JOUR: J'ai mal lu la documentation
J'aurais dû appeler JSONB_ARRAY_LENGTH
, Pas JSON_ARRAY_LENGTH
. Notez le "B" après "JSON". Merci les gars.
SELECT json[b]_array_length('["question","solved"]') AS length
[b] signifie facultatif