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

ISJSON () SQL सर्वर में उदाहरण (T-SQL)

SQL सर्वर का उपयोग करते समय, आप ISJSON() . का उपयोग कर सकते हैं स्ट्रिंग एक्सप्रेशन में मान्य JSON है या नहीं, इसका परीक्षण करने के लिए फ़ंक्शन।

यदि व्यंजक में वैध JSON है, ISJSON() रिटर्न 1 , अन्यथा यह वापस आ जाता है 0

सिंटैक्स

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

ISJSON ( expression )

जहां expression वह स्ट्रिंग एक्सप्रेशन है जिसके लिए आप मान्य JSON के लिए परीक्षण कर रहे हैं।

उदाहरण 1 - मान्य JSON

स्ट्रिंग में मान्य JSON होने पर क्या होता है, यह दिखाने के लिए यहां एक उदाहरण दिया गया है।

SELECT ISJSON('{"Name": "Bob"}') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 1        |
+----------+

उदाहरण 2 - अमान्य JSON

यह दिखाने के लिए यहां एक उदाहरण दिया गया है कि क्या होता है जब स्ट्रिंग नहीं मान्य JSON शामिल है।

SELECT ISJSON('Name: Bob') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 0        |
+----------+

उदाहरण 3 - एक सशर्त बयान

स्ट्रिंग में JSON है या नहीं, इस पर निर्भर करते हुए, यहां एक बुनियादी सशर्त बयान दिया गया है, जो एक अलग परिणाम देता है।

DECLARE @data nvarchar(255);
SET @data = '{"Name": "Bob"}';
IF (ISJSON(@data) > 0)
    SELECT 'Valid JSON' AS 'Result';
ELSE
    SELECT 'Invalid JSON' AS 'Result';

परिणाम:

+------------+
| Result     |
|------------|
| Valid JSON |
+------------+

उदाहरण 4 - एक डेटाबेस उदाहरण

इस डेटाबेस क्वेरी में, परिणाम केवल वहीं लौटाए जाते हैं जहां Collections.Contents कॉलम में वैध JSON है।

यह विशेष कॉलम डेटा प्रकार का उपयोग करता है nvarchar(4000) JSON दस्तावेज़ को संग्रहीत करने के लिए।

SELECT Contents
FROM Collections
WHERE ISJSON(Contents) > 0;

परिणाम:

+------------+
| Contents   |
|------------|
| [
    {
        "ArtistName": "AC/DC",
        "Albums": [
            {
                "AlbumName": "Powerage"
            }
        ]
    },
    {
        "ArtistName": "Devin Townsend",
        "Albums": [
            {
                "AlbumName": "Ziltoid the Omniscient"
            },
            {
                "AlbumName": "Casualties of Cool"
            },
            {
                "AlbumName": "Epicloud"
            }
        ]
    },
    {
        "ArtistName": "Iron Maiden",
        "Albums": [
            {
                "AlbumName": "Powerslave"
            },
            {
                "AlbumName": "Somewhere in Time"
            },
            {
                "AlbumName": "Piece of Mind"
            },
            {
                "AlbumName": "Killers"
            },
            {
                "AlbumName": "No Prayer for the Dying"
            }
        ]
    }
]            |
+------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एसक्यूएल सर्वर 2005 में कुछ रिकॉर्ड अपडेट करने के लिए केस स्टेटमेंट का उपयोग करना चाहता हूं

  2. SQL सर्वर तालिका को भिन्न फ़ाइल समूह में ले जाना

  3. डेटाबेस आरेख या तालिकाओं को डिज़ाइन करने के लिए बैकएंड संस्करण समर्थित नहीं है

  4. SQL सर्वर में एक-से-एक संबंध को परिभाषित करना

  5. कैसे ठीक करें "निष्पादन कथन विफल हुआ क्योंकि इसके परिणाम सेट क्लॉज के साथ परिणाम सेट के लिए 2 कॉलम निर्दिष्ट हैं ..." SQL सर्वर में संदेश 11537