का उपयोग करते हुए मैं PostgreSQL 9.4.5-1.pgdg14.04+1
का नवीनतम संस्करण चला रहा हूँ, और PostgreSQL 9.4 Documentationगणना JSONB सरणी की लंबाई PostgreSQL 9.4
यहाँ में वर्णित के रूप JSON_ARRAY_LENGTH
समारोह का उपयोग कर एक JSONB सरणी की लंबाई की गणना करने के लिए प्रयास कर रहा हूँ सटीक क्वेरी है मैं चलाने का प्रयास कर रहा हूँ:
SELECT JSON_ARRAY_LENGTH('["hi","ho"]'::jsonb) AS length
जब मैं उस क्वेरी चलाने, मैं 2
के एक मूल्य लौटा दी की उम्मीद करेंगे, लेकिन इसके बजाय त्रुटि का सामना कर रहा हूँ: ERROR: function json_array_length(jsonb) does not exist
क्या मुझे प्रलेखन में कुछ बहुत याद आ रहा है? यह विशेष रूप से बताता है कि आप JSON_ARRAY_LENGTH
को json
या jsonb
डेटा-प्रकार से गुजर सकते हैं। मैं स्पष्ट रूप से jsonb
पर कास्टिंग कर रहा हूं इसलिए मुझे कुछ नुकसान हुआ है।
क्या किसी और को इस समस्या का सामना करना पड़ा है, या कोई यह बताएगा कि मैं यहां क्या कर रहा हूं?
अद्यतन: मैं प्रलेखन
मैं जाना चाहिए था JSONB_ARRAY_LENGTH
कहता रहा, JSON_ARRAY_LENGTH
नहीं गलत पढ़ें। "JSON" के बाद "बी" पर ध्यान दें। धन्यवाद दोस्तों।
के लिए खड़े मैं नहीं मिल सकता है, जहां "यह विशेष रूप से JSON_ARRAY_LENGTH या तो एक json या jsonb डेटा प्रकार गुजर कहा गया है कि आप कह सकते हैं" - आप यह सचमुच का हवाला देते हैं सकता है ?. – klin
एक गलतफहमी होना चाहिए। [मैनुअल कहता है] (http://www.postgresql.org/docs/current/interactive/functions-json.html): 'json_array_length (json) jsonb_array_length (jsonb) '। –
@klin कहते हैं, मुझे लगता है कि आप प्रलेखन को गलत तरीके से पढ़ रहे हैं, यह दिखाता है कि आपको डेटाटाइप – Doon