Je souhaite insérer quelques objets JSON dans ma table SQL Server 2016.Comment insérer un objet JSON dans SQL Server 2016 en tant que nvarchar
Ma structure de table est la suivante:
field type nullable default
name | nvarchar(max) | true | Null
age | nvarchar(max) | true | Null
homeAddress | nvarchar(max) | true | Null
officeAddress | nvarchar(max) | true | Null
J'utilise la requête suivante pour insérer mes données:
DECLARE @json NVARCHAR(MAX) = N'{"name":"John Smith","age":32,"homeAddress":{"addr1":"123rd West Street, Willow Apt","addr2":"#55 Suite","zipCode":12345,"city":"Austin","state":"TX"},"officeAddress":{"addr1":"23rd West Street","addr2":"","zipCode":12345,"city":"Austin","state":"TX"}}';
INSERT INTO Employee
SELECT *
FROM OPENJSON(@json)
WITH (name nvarchar(50),
age int,
homeAddress nvarchar(max),
officeAddress nvarchar(max)
);
Cependant, seule la valeur de name
et age
sont renseignés dans le tableau . Les deux valeurs homeAddress
et officeAddress
sont NULL.
Quel est le problème avec ma requête? Comment puis-je insérer un objet JSON en tant que nvarchar?
On dirait que les deux 'homeAddress' ainsi que' officeAddress' ne sont pas des chaînes tout simplement - mais JSON objets eux-mêmes ... –
Oui homeAddress et officeAddress sont les deux objets JSON. Je suis à la recherche d'un tutoriel pour convertir les objets en chaîne, mais toujours pas de chance. – KnightCavalry