sql >> Databáze >  >> RDS >> Sqlserver

Příklady ISJSON() v SQL Server (T-SQL)

Při použití serveru SQL Server můžete použít ISJSON() funkce pro testování, zda řetězcový výraz obsahuje platný JSON.

Pokud výraz obsahuje platný JSON, ISJSON() vrátí 1 , jinak vrátí 0 .

Syntaxe

Syntaxe vypadá takto:

ISJSON ( expression )

Kde expression je řetězcový výraz, pro který testujete platný JSON.

Příklad 1 – platný JSON

Zde je příklad demonstrující, co se stane, když řetězec obsahuje platný JSON.

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

Výsledek:

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

Příklad 2 – Neplatný JSON

Zde je příklad, který demonstruje, co se stane, když řetězec není obsahovat platný JSON.

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

Výsledek:

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

Příklad 3 – Podmíněné prohlášení

Zde je základní podmíněný příkaz, jehož výstupem je jiný výsledek v závislosti na tom, zda řetězec obsahuje JSON nebo ne.

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

Výsledek:

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

Příklad 4 – Příklad databáze

V tomto databázovém dotazu jsou výsledky vráceny pouze tam, kde je Collections.Contents sloupec obsahuje platný JSON.

Tento konkrétní sloupec používá datový typ nvarchar(4000) k uložení dokumentu JSON.

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

Výsledek:

+------------+
| 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. Jak odstranit úlohu SQL Server Agent v Azure Data Studio

  2. Jak spustíte SQL z bash skriptu?

  3. Migrace dat mezi různými DBMS

  4. sqlite get pole s více než 2 MB