MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

मारियाडीबी JSON_MERGE_PRESERVE () समझाया गया

मारियाडीबी में, JSON_MERGE_PRESERVE() एक अंतर्निहित फ़ंक्शन है जो दो या अधिक JSON दस्तावेज़ों को मर्ज करता है और परिणाम देता है।

JSON_MERGE_PRESERVE() JSON_MERGE() . का पर्याय है , जिसे बहिष्कृत कर दिया गया है। भविष्य की समस्याओं से बचने के लिए, आपको JSON_MERGE_PATCH() . का उपयोग करना चाहिए इसके बजाय कार्य करें। JSON_MERGE_PATCH() फ़ंक्शन JSON_MERGE() . के लिए RFC 7396-संगत प्रतिस्थापन है ।

सिंटैक्स

वाक्य रचना इस प्रकार है:

JSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)

जहां json_doc मर्ज करने के लिए JSON दस्तावेज़ हैं।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT JSON_MERGE_PRESERVE(
    '{"name":"Wag"}', 
    '{"type":"Dog"}'
    ) AS Result;

परिणाम:

+--------------------------------+
| Result                         |
+--------------------------------+
| {"name": "Wag", "type": "Dog"} |
+--------------------------------+

हम देख सकते हैं कि दो दस्तावेज़ों को एक में मिला दिया गया है।

यहां एक उदाहरण दिया गया है जो तीन दस्तावेज़ों को मिलाता है:

SELECT JSON_MERGE_PRESERVE(
    '{ "name" : "Wag" }', 
    '{ "type" : "Dog" }',
    '{ "score" : [ 9, 7, 8 ] }'
    ) AS Result;

परिणाम:

+----------------------------------------------------+
| Result                                             |
+----------------------------------------------------+
| {"name": "Wag", "type": "Dog", "score": [9, 7, 8]} |
+----------------------------------------------------+

सरणी

JSON_MERGE_PRESERVE() . के बीच एक अंतर और JSON_MERGE_PATCH() क्या वह JSON_MERGE_PRESERVE() है सरणियों को मिलाता है (JSON_MERGE_PATCH() नहीं करता है):

SELECT JSON_MERGE_PRESERVE(
    '[1,2,3]', 
    '[4,5,6]'
    ) AS Result;

परिणाम:

+--------------------+
| Result             |
+--------------------+
| [1, 2, 3, 4, 5, 6] |
+--------------------+

JSON_MERGE_PATCH() के साथ इसका प्रयास कर रहे हैं परिणाम केवल दूसरी सरणी लौटाया जा रहा है।

यदि आप सोच रहे हैं, हाँ JSON_MERGE() सरणियों को भी मिलाता है।

शून्य तर्क

अगर कोई तर्क NULL है , परिणाम NULL . है :

SELECT 
    JSON_MERGE_PRESERVE('{"a":1}', null) AS a,
    JSON_MERGE_PRESERVE(null, '{"a":1}') AS b,
    JSON_MERGE_PRESERVE(null, null) AS c;

परिणाम:

+------+------+------+
| a    | b    | c    |
+------+------+------+
| NULL | NULL | NULL |
+------+------+------+

गलत पैरामीटर गणना

बिना किसी तर्क के फ़ंक्शन को कॉल करने से त्रुटि होती है:

SELECT JSON_MERGE_PRESERVE();

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_MERGE_PRESERVE'

जब आप केवल एक तर्क देते हैं तो ऐसा ही होता है:

SELECT JSON_MERGE_PRESERVE('{"a":1}');

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_MERGE_PRESERVE'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी डेटाबेस को एन्क्रिप्टेड और अनएन्क्रिप्टेड राज्यों में ले जाना

  2. अपने मारियाडीबी संस्करण की जांच करने के 6 तरीके

  3. मारियाडीबी एंटरप्राइज क्या है और इसे क्लस्टरकंट्रोल के साथ कैसे प्रबंधित करें?

  4. मारियाडीबी JSON_ARRAY () समझाया गया

  5. मारियाडीबी में UNCOMPRESSED_LENGTH () कैसे काम करता है