Oracle डाटाबेस में, JSON_ARRAYAGG() फ़ंक्शन SQL अभिव्यक्तियों के कॉलम से JSON सरणी बनाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_ARRAYAGG
( expr [ FORMAT JSON ] [ order_by_clause ]
[ JSON_on_null_clause ] [ JSON_agg_returning_clause ]
[ STRICT ]
) कहां:
exprकोई भी SQL अभिव्यक्ति है जो JSON ऑब्जेक्ट, JSON सरणी, संख्यात्मक शाब्दिक, टेक्स्ट शाब्दिक, याnullका मूल्यांकन करती है ।FORMAT JSONइंगित करता है कि इनपुट स्ट्रिंग JSON है, और इसलिए इसे आउटपुट में उद्धृत नहीं किया जाएगा।order_by_clauseआपको कथन द्वारा लौटाए गए JSON सरणी के भीतर JSON मानों को ऑर्डर करने की अनुमति देता है।JSON_on_null_clauseउपयोग करने के लिए व्यवहार निर्दिष्ट करता है जबexprशून्य का मूल्यांकन करता है (यानी या तो आउटपुट में शून्य मान शामिल करें या नहीं)।JSON_agg_returning_clauseइस फ़ंक्शन द्वारा लौटाए गए वर्ण स्ट्रिंग के डेटा प्रकार को निर्दिष्ट करता है।STRICTजाँचता है कि JSON जनरेशन फ़ंक्शन का आउटपुट सही JSON है या नहीं। यदि चेक विफल हो जाता है, तो सिंटैक्स त्रुटि उत्पन्न हो जाती है।
उदाहरण
मान लीजिए कि हम निम्नलिखित SQL क्वेरी चलाते हैं:
SELECT region_name
FROM regions; और यह निम्न आउटपुट देता है:
REGION_NAME _________________________ Europe Americas Asia Middle East and Africa
यदि हम चाहते हैं कि वे सभी मान JSON सरणी में तत्व हों, तो हम कॉलम नाम को JSON_ARRAYAGG() में पास कर सकते हैं समारोह।
इस तरह:
SELECT JSON_ARRAYAGG(region_name)
FROM regions; परिणाम:
["Europe","Americas","Asia","Middle East and Africa"]
अनुबंध द्वारा आदेश
यहां ORDER BY . का उपयोग करने का एक उदाहरण दिया गया है समारोह के भीतर खंड:
SELECT JSON_ARRAYAGG(
region_name ORDER BY region_name DESC
)
FROM regions; परिणाम:
["Middle East and Africa","Europe","Asia","Americas"]
उस उदाहरण ने सरणी तत्वों को अवरोही क्रम में क्रमबद्ध किया।
यहाँ यह आरोही क्रम में है:
SELECT JSON_ARRAYAGG(
region_name ORDER BY region_name ASC
)
FROM regions; परिणाम:
["Americas","Asia","Europe","Middle East and Africa"]
इस फ़ंक्शन के बारे में अधिक जानकारी के लिए Oracle दस्तावेज़ देखें।