Oracle डाटाबेस में, JSON_ARRAY()
फ़ंक्शन SQL स्केलर अभिव्यक्तियों के अनुक्रम या एक संग्रह प्रकार उदाहरण, VARRAY
से एक JSON सरणी बनाता है या NESTED TABLE
।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_ARRAY
( expr [ FORMAT JSON ] [, expr [ FORMAT JSON ] ]...
[ JSON_on_null_clause ] [ JSON_returning_clause ]
[ STRICT ] )
कहां:
expr
कोई भी SQL अभिव्यक्ति है जो JSON ऑब्जेक्ट, JSON सरणी, संख्यात्मक शाब्दिक, टेक्स्ट शाब्दिक, दिनांक, टाइमस्टैम्प, याnull
का मूल्यांकन करती है ।FORMAT JSON
इंगित करता है कि इनपुट स्ट्रिंग JSON है, और इसलिए इसे आउटपुट में उद्धृत नहीं किया जाएगा।JSON_on_null_clause
उपयोग करने के लिए व्यवहार निर्दिष्ट करता है जबexpr
इसमें एक शून्य मान होता है (यानी या तो आउटपुट में शून्य मान शामिल करें या नहीं)।JSON_returning_clause
वापसी मूल्य के प्रकार को निर्दिष्ट करता है।STRICT
जाँचता है कि JSON जनरेशन फ़ंक्शन का आउटपुट सही JSON है या नहीं। यदि चेक विफल हो जाता है, तो सिंटैक्स त्रुटि उत्पन्न हो जाती है।
उदाहरण
यह कैसे काम करता है, यह दिखाने के लिए यहां एक उदाहरण दिया गया है:
SELECT JSON_ARRAY(1, 2, 3) FROM DUAL;
परिणाम:
[1,2,3]
नेस्टेड
आप JSON_ARRAY()
नेस्ट भी कर सकते हैं दूसरे JSON_ARRAY()
में काम करता है समारोह:
SELECT JSON_ARRAY(
JSON_ARRAY(1, 2, 3),
JSON_ARRAY(4, 5, 6)
)
FROM DUAL;
परिणाम:
[[1,2,3],[4,5,6]]
FORMAT JSON
खंड
आप FORMAT JSON
. का उपयोग कर सकते हैं यह इंगित करने के लिए कि इनपुट स्ट्रिंग JSON है, और इसलिए इसे आउटपुट में उद्धृत नहीं किया जाना चाहिए।
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT
JSON_ARRAY('{"a":1}') AS r1,
JSON_ARRAY('{"a":1}' FORMAT JSON) AS r2
FROM DUAL;
परिणाम:
R1 R2 ________________ ____________ ["{\"a\":1}"] [{"a":1}]
शून्य मान
आप निर्दिष्ट कर सकते हैं कि परिणामी सरणी में शून्य मान शामिल हैं या नहीं।
उन्हें शामिल करने के लिए, NULL ON NULL
use का उपयोग करें :
SELECT
JSON_ARRAY(1, null, 3 NULL ON NULL)
FROM DUAL;
परिणाम:
[1,null,3]
उन्हें बाहर करने के लिए, ABSENT ON NULL
. का उपयोग करें :
SELECT
JSON_ARRAY(1, null, 3 ABSENT ON NULL)
FROM DUAL;
परिणाम:
[1,3]
ABSENT ON NULL
डिफ़ॉल्ट है।
इस फ़ंक्शन की अधिक विस्तृत व्याख्या के लिए Oracle के दस्तावेज़ देखें।