[SQL Server] Interroger une variable qui contient des données JSON
-- =============================================
-- Author: Zouhaier KHARROUBI
-- Create date: 29/05/2018
-- Description: Interroger une variable qui contient des données JSON
-- =============================================
DECLARE @json NVARCHAR(MAX)
SET @json =
N'[
{ "Matricule" : 1,"informations": [{ "Nom": "KHARROUBI", "Prenom": "Zouhaier" }], "age": 25 },
{ "Matricule" : 2,"informations": [{ "Nom": "BEN MOKHTAR", "Prenom": "Aref" }], "DateNaissance": "2005-11-04T12:00:00" }
]'
SELECT T1.Matricule,T1.age,T1.DateNaissance,T2.Nom,T2.Prenom FROM (
SELECT *
FROM OPENJSON(@json)
WITH (
Matricule INT 'strict $.Matricule'
,informations NVARCHAR(MAX) AS JSON
,age INT '$.age'
,DateNaissance DATE '$.DateNaissance'
)
) T1
OUTERAPPLY OPENJSON(T1.informations)
WITH
(
Nom VARCHAR(250) '$.Nom'
,Prenom VARCHAR(250) '$.Prenom'
) T2