Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

ISJSON() Przykłady w SQL Server (T-SQL)

Używając SQL Server, możesz użyć ISJSON() funkcja do sprawdzenia, czy wyrażenie tekstowe zawiera prawidłowy JSON.

Jeśli wyrażenie zawiera prawidłowy JSON, ISJSON() zwraca 1 , w przeciwnym razie zwraca 0 .

Składnia

Składnia wygląda tak:

ISJSON ( expression )

Gdzie expression to wyrażenie tekstowe, dla którego testujesz poprawny JSON.

Przykład 1 – prawidłowy JSON

Oto przykład pokazujący, co się dzieje, gdy ciąg zawiera prawidłowy JSON.

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

Wynik:

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

Przykład 2 – Nieprawidłowy JSON

Oto przykład pokazujący, co się dzieje, gdy ciąg nie zawierać prawidłowy JSON.

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

Wynik:

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

Przykład 3 – Instrukcja warunkowa

Oto podstawowa instrukcja warunkowa, która wyprowadza inny wynik, w zależności od tego, czy ciąg zawiera JSON, czy nie.

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

Wynik:

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

Przykład 4 – Przykład bazy danych

W tym zapytaniu do bazy danych wyniki są zwracane tylko wtedy, gdy Collections.Contents kolumna zawiera poprawny JSON.

Ta konkretna kolumna używa typu danych nvarchar(4000) do przechowywania dokumentu JSON.

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

Wynik:

+------------+
| 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. Jak wstawić obiekt blob do bazy danych za pomocą studia zarządzania serwerem sql

  2. Dodaj domyślną wartość pola datetime w SQL Server do znacznika czasu

  3. Jak połączyć się z kilkoma serwerami SQL jednym kliknięciem (grupa zarejestrowanych serwerów) — samouczek SQL Server / TSQL, część 5

  4. Jak używać instrukcji IF/ELSE do aktualizacji lub tworzenia nowego wpisu węzła XML w Sql

  5. SQL Server 2016:Widok projektanta