Menggunakan OPENJSON dengan Skema Default
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Gunakan OPENJSON dengan skema default untuk mengembalikan tabel dengan satu baris untuk setiap properti objek atau untuk setiap elemen dalam array.
Berikut adalah beberapa contoh yang menggunakan OPENJSON dengan skema default. Untuk informasi selengkapnya dan contoh lainnya, lihat OPENJSON (Transact-SQL).
Contoh - Mengembalikan setiap properti objek
Kueri
SELECT *
FROM OPENJSON('{"name":"John","surname":"Doe","age":45}')
Hasil
Kunci | Nilai |
---|---|
nama | John |
surname | Doe |
usia | 45 |
Contoh - Mengembalikan setiap elemen array
Kueri
SELECT [key],value
FROM OPENJSON('["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]')
Hasil
Kunci | Nilai |
---|---|
0 | en-GB |
1 | en-UK |
2 | de-AT |
3 | es-AR |
4 | sr-Cyrl |
Contoh - Mengonversi JSON ke tabel sementara
Kueri berikut mengembalikan semua properti objek info .
DECLARE @json NVARCHAR(MAX)
SET @json=N'{
"info":{
"type":1,
"address":{
"town":"Bristol",
"county":"Avon",
"country":"Great Britain"
},
"tags":["Sport", "Water polo"]
},
"type":"Basic"
}'
SELECT *
FROM OPENJSON(@json,N'lax $.info')
Hasil
Kunci | Nilai | Jenis |
---|---|---|
jenis | 1 | 0 |
address | { "town":"Bristol", "county":"Avon", "country":"Great Britain" } | 5 |
tag | [ "Olahraga", "Polo air" ] | 4 |
Contoh - Menggabungkan data relasional dan data JSON
Dalam contoh berikut, tabel SalesOrderHeader memiliki kolom teks SalesReason yang berisi array SalesOrderReasons dalam format JSON. Objek SalesOrderReasons berisi properti seperti "Produsen" dan "Kualitas." Contoh membuat laporan yang menggabungkan setiap baris pesanan penjualan ke alasan penjualan terkait dengan memperluas array JSON alasan penjualan seolah-olah alasan disimpan dalam tabel anak terpisah.
SELECT SalesOrderID,OrderDate,value AS Reason
FROM Sales.SalesOrderHeader
CROSS APPLY OPENJSON(SalesReasons)
Dalam contoh ini, OPENJSON mengembalikan tabel alasan penjualan di mana alasan muncul sebagai kolom nilai. Operator CROSS APPLY menggabungkan setiap baris pesanan penjualan ke baris yang dikembalikan oleh fungsi bernilai tabel OPENJSON.
Pelajari selengkapnya tentang JSON di SQL Server dan Azure SQL Database
Video Microsoft
Untuk pengenalan visual dukungan JSON bawaan di SQL Server dan Azure SQL Database, lihat video berikut ini:
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk