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

JSON_VALID () - Kiểm tra JSON hợp lệ trong MySQL

Khi sử dụng MySQL, bạn có thể sử dụng JSON_VALID() để 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ệ, JSON_VALID() trả về 1 , nếu không nó trả về 0 .

Cú pháp

Cú pháp như sau:

JSON_VALID(val)

Ở đâu val là giá trị 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 JSON_VALID('{"Name": "Bart"}') 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 JSON_VALID('Name: Bart') AS Result;

Kết quả:

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

Ví dụ 3 - 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à json để lưu trữ tài liệu JSON.

SELECT Contents
FROM Collections
WHERE JSON_VALID(Contents) = 1;

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"
            }
        ]
    }
]            |
+------------+

Đây là những gì sẽ xảy ra nếu chúng tôi thay đổi câu lệnh để chỉ trả lại dữ liệu nếu nó isn't JSON hợp lệ.

SELECT Contents
FROM Collections
WHERE JSON_VALID(Contents) = 0;

Kết quả:

Empty set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kết nối nhiều cơ sở dữ liệu trong PHP, MYSQLi &PDO

  2. MyCLI - Ứng dụng khách MySQL / MariaDB với tính năng Tự động hoàn thành và tô sáng cú pháp

  3. Tìm bản ghi từ một bảng không tồn tại trong bảng khác

  4. Mẹo để cung cấp hiệu suất cơ sở dữ liệu MySQL - Phần một

  5. Mysql - xóa khỏi nhiều bảng với một truy vấn