Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

ISJSON() Contoh di SQL Server (T-SQL)

Saat menggunakan SQL Server, Anda dapat menggunakan ISJSON() berfungsi untuk menguji apakah ekspresi string berisi JSON yang valid atau tidak.

Jika ekspresi berisi JSON yang valid, ISJSON() mengembalikan 1 , jika tidak, ia akan mengembalikan 0 .

Sintaks

Sintaksnya seperti ini:

ISJSON ( expression )

Dimana expression adalah ekspresi string yang Anda uji untuk JSON yang valid.

Contoh 1 – JSON yang Valid

Berikut adalah contoh untuk menunjukkan apa yang terjadi ketika string berisi JSON yang valid.

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

Hasil:

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

Contoh 2 – JSON tidak valid

Berikut adalah contoh untuk menunjukkan apa yang terjadi ketika string tidak berisi JSON yang valid.

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

Hasil:

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

Contoh 3 – Pernyataan Bersyarat

Berikut adalah pernyataan kondisional dasar yang menampilkan hasil berbeda, bergantung pada apakah string berisi JSON atau tidak.

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

Hasil:

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

Contoh 4 – Contoh Basis Data

Dalam kueri basis data ini, hasilnya hanya dikembalikan di mana Collections.Contents kolom berisi JSON yang valid.

Kolom khusus ini menggunakan tipe data nvarchar(4000) untuk menyimpan dokumen JSON.

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

Hasil:

+------------+
| 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. Impor Excel SSIS Memaksa Jenis Kolom Salah

  2. Desain basis data untuk pengaturan pengguna

  3. UNION ALL vs kondisi ATAU dalam permintaan server sql

  4. Nilai yang Dipisahkan Koma dengan SQL Query

  5. Menyisipkan beberapa baris dalam satu kueri SQL?