Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ISJSON() Примери в SQL Server (T-SQL)

Когато използвате SQL Server, можете да използвате 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. Как да добавите първичен ключ към съществуваща таблица в SQL Server (T-SQL примери)

  2. Как да върнете всички деактивирани ограничения CHECK в SQL Server (пример за T-SQL)

  3. ATAN() Примери в SQL Server

  4. В коя колона трябва да се постави клъстерираният индекс?

  5. Вземете записите от миналия месец в SQL сървър