Вам необходимо использовать OPENJSON()
с явной схемой. Просто используйте соответствующие имена столбцов в предложении WITH
:
Оператор:
DECLARE @json nvarchar(max) = N'{
"rows":[
[
"202003290528",
"/home",
"/home",
"(not set)",
"/home",
"desktop",
"Charlotte NC",
"1",
"1",
"1",
"0.0",
"1",
"1",
"0.0",
"1"
],
[
"202003291516",
"/home",
"/home",
"(not set)",
"/home",
"mobile",
"Chicago IL",
"1",
"1",
"1",
"0.0",
"1",
"0",
"0.0",
"1"
],
[
"202003291930",
"/home",
"/home",
"(not set)",
"/home",
"mobile",
"Boston MA-Manchester NH",
"1",
"1",
"1",
"0.0",
"1",
"0",
"0.0",
"1"
],
[
"202003291942",
"/home",
"/home",
"(not set)",
"/home",
"mobile",
"Des Moines-Ames IA",
"1",
"1",
"1",
"0.0",
"1",
"0",
"0.0",
"1"
]
]
}'
Оператор:
SELECT *
FROM OPENJSON(@json, '$.rows') WITH (
dateHourMinute varchar(100) '$[0]',
pagePath varchar(100) '$[1]',
landingPagePath varchar(100) '$[2]',
secondPagePath varchar(100) '$[3]',
exitPagePath varchar(100) '$[4]',
deviceCategory varchar(100) '$[5]',
metro varchar(100) '$[6]',
sessions varchar(100) '$[7]',
pageviews varchar(100) '$[8]',
uniquePageviews varchar(100) '$[9]',
timeOnPage varchar(100) '$[10]',
users varchar(100) '$[11]',
newUsers varchar(100) '$[12]',
sessionDuration varchar(100) '$[13]',
bounces varchar(100) '$[14]'
)