Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

ISJSON () Ví dụ trong SQL Server (T-SQL)

Khi sử dụng SQL Server, bạn có thể sử dụng ISJSON() để kiểm tra xem một biểu thức chuỗi có chứa JSON hợp lệ hay không.

Nếu biểu thức chứa JSON hợp lệ, ISJSON() trả về 1 , nếu không nó trả về 0 .

Cú pháp

Cú pháp như sau:

ISJSON ( expression )

Ở đâu expression là biểu thức chuỗi mà bạn đang kiểm tra JSON hợp lệ.

Ví dụ 1 - JSON hợp lệ

Dưới đây là một ví dụ để chứng minh điều gì sẽ xảy ra khi chuỗi chứa JSON hợp lệ.

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

Kết quả:

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

Ví dụ 2 - JSON không hợp lệ

Dưới đây là một ví dụ để chứng minh điều gì sẽ xảy ra khi chuỗi doesn’t chứa JSON hợp lệ.

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

Kết quả:

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

Ví dụ 3 - Câu lệnh có điều kiện

Đây là một câu lệnh điều kiện cơ bản tạo ra một kết quả khác, tùy thuộc vào việc chuỗi có chứa JSON hay không.

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

Kết quả:

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

Ví dụ 4 - Ví dụ về Cơ sở dữ liệu

Trong truy vấn cơ sở dữ liệu này, kết quả chỉ được trả về khi Collections.Contents cột chứa JSON hợp lệ.

Cột cụ thể này sử dụng kiểu dữ liệu là nvarchar(4000) để lưu trữ tài liệu JSON.

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

Kết quả:

+------------+
| 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. OBJECTPROPERTY () so với OBJECTPROPERTYEX () trong SQL Server:Sự khác biệt là gì?

  2. Sự khác biệt giữa bảng DELETE và TRUNCATE trong SQL Server

  3. Máy chủ SQL trên Linux

  4. Làm cách nào để tạo bảng bằng cách sử dụng truy vấn chọn trong SQL Server?

  5. Không sử dụng sp_depends trong SQL Server (nó không được dùng nữa)