Interessant es scheint, dass Sie diesem Link folgen: https://docs.microsoft.com/en-us/sql/t-sql/functions/openjson-transact-sql.
Dies funktioniert, wenn Inline getan:
DECLARE @json VARCHAR(4000) = N'{
"path": {
"to":{
"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]
}
}
}';
SELECT [key], value
FROM OPENJSON(@json, '$.path.to."sub-object"')
Wenn Sie machen die Änderung zu einer Referenz einer Variablen es nicht:
declare @Path as nvarchar(128) = '$.path.to."sub-object"'
DECLARE @json nVARCHAR(4000) = N'{
"path": {
"to":{
"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]
}
}
}';
SELECT [key], value
FROM OPENJSON(@json, @Path)
Art Hack AKTUALISIERT aber es funktioniert
declare @Path as nvarchar(128) = '$.path.to."sub-object"'
DECLARE @json nVARCHAR(4000) = N'{
"path": {
"to":{
"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]
}
}
}';
DECLARE @SQL NVARCHAR(MAX) =
'SELECT [key], value
FROM OPENJSON(''' + @json + ''', ''' + @Path + ''')'
EXEC sp_executesql @Sql
Was Sie nicht gepostet nicht auf meinem System Fehler aus. Welche Version von SQL Server führen Sie aus? OPENJSON ist ein 2016 Feature. –
Wirklich? Ich benutze ms sql 2016 Server –