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

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

मारियाडीबी में, JSON_UNQUOTE() एक अंतर्निहित फ़ंक्शन है जो JSON मान से उद्धरण हटाता है। दूसरे शब्दों में, यह एक JSON मान को "अनकोट" करता है।

सिंटैक्स

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

JSON_UNQUOTE(val)

उदाहरण

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

SELECT JSON_UNQUOTE('"Eggs"');

परिणाम:

+------------------------+
| JSON_UNQUOTE('"Eggs"') |
+------------------------+
| Eggs                   |
+------------------------+

एस्केप कैरेक्टर

यदि मान में बैकस्लैश वर्ण है (\ ), इसे आमतौर पर अनदेखा किया जाता है। हालांकि, बैकस्लैश से जुड़े कुछ अनुक्रमों का विशेष अर्थ हो सकता है, और JSON_UNQUOTE() के परिणाम को प्रभावित कर सकता है। .

यह इस पर निर्भर करेगा कि SQL मोड NO_BACKSLASH_ESCAPES पर सेट है या नहीं . जब SQL मोड NO_BACKSLASH_ESCAPES पर सेट हो , यह बैकस्लैश वर्ण को स्ट्रिंग्स के भीतर एक एस्केप वर्ण के रूप में उपयोग करने को अक्षम करता है, जिससे यह एक सामान्य वर्ण के बराबर हो जाता है।

अन्यथा, निम्नलिखित क्रम सही रहेंगे:

एस्केप अनुक्रम चरित्र
\" दोहरा उद्धरण (" )
\b बैकस्लैश
\f फ़ॉर्मफ़ीड
\n न्यूलाइन (लाइनफीड)
\r कैरिज रिटर्न
\t टैब
\\ बैकस्लैश (\ )
\uXXXX यूनिकोड मान के लिए UTF-8 बाइट्स XXXX

उदाहरण:

SELECT JSON_UNQUOTE('Feeling\tGood');

परिणाम:

+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling	Good                  |
+-------------------------------+

यहाँ, मैंने \t . का उपयोग किया है स्ट्रिंग के भीतर एक टैब वर्ण जोड़ने का क्रम।

अगर मैं SQL मोड को NO_BACKSLASH_ESCAPES . पर सेट करता हूँ , अनुक्रम का कोई विशेष अर्थ नहीं है, और शाब्दिक अनुक्रम बिना व्याख्या के आउटपुट में शामिल है:

SET @@sql_mode = 'NO_BACKSLASH_ESCAPES';

SELECT JSON_UNQUOTE('Feeling\tGood');

परिणाम:

+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling\tGood                 |
+-------------------------------+

अशक्त तर्क

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

SELECT JSON_UNQUOTE(null);

परिणाम:

+--------------------+
| JSON_UNQUOTE(null) |
+--------------------+
| NULL               |
+--------------------+

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

कॉलिंग JSON_UNQUOTE() बिना तर्क के त्रुटि उत्पन्न होती है:

SELECT JSON_UNQUOTE();

परिणाम:

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

जब आप बहुत अधिक तर्क देते हैं तो ऐसा ही होता है:

SELECT JSON_UNQUOTE('a', 'b');

परिणाम:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे YEARWEEK () मारियाडीबी में काम करता है

  2. मारियाडीबी में SYSDATE () और अब () के बीच अंतर

  3. MariaDB में किसी समय या दिनांक समय मान में AM/PM कैसे जोड़ें?

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

  5. CentOS 7 पर MySQL 8.0 के साथ PHP 5 एप्लिकेशन कैसे चलाएं