У меня есть упражнение для извлечения некоторых данных из более крупного объекта JSON, однако данные добавляются в виде нескольких объектов или, возможно, в виде массива.
Пример ниже;
DECLARE @json NVARCHAR(MAX) = '{
"N.data.-ce731645-e4ef-4784-bc02-bb90b4c9e9e6": "Some Data",
"N.data.sessionDates-7f1790d3-9175-43aa-962b-161ee3b8615f": [
{
"date_1": "2018-10-20T23:00:00.000Z"
},
{
"date_1": "2018-10-21T23:00:00.000Z"
}
]
}'
Мне нужно извлечь эти записи даты и времени из идентификатора "date_1" в идеале в список CSV. Из этого я могу делать свои собственные манипуляции.
2018-10-20T23:00:00.000Z, 2018-10-21T23:00:00.000Z
Я знаком с JSON_VALUE (), но не с его использованием вне простой части одномерных данных.
Что у меня есть до сих пор;
DECLARE @json NVARCHAR(MAX) = '{
"N.data.-ce731645-e4ef-4784-bc02-bb90b4c9e9e6": "Some Data",
"N.data.sessionDates-7f1790d3-9175-43aa-962b-161ee3b8615f": [
{
"date_1": "2018-10-20T23:00:00.000Z"
},
{
"date_1": "2018-10-21T23:00:00.000Z"
}
]
}'
SELECT value FROM OPENJSON(@json)
Есть ли способ достичь ожидаемого вывода за пределы использования сложных substring () и replace ()?
Использование SQL Server 2017
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on Windows Server 2012 R2 Datacenter 6.3 <X64> (Build 9600: ) (Hypervisor)
Спасибо