[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