SQL находит определенные узлы и возвращает их значения (json) как результаты в формате Excel - PullRequest
0 голосов
/ 24 октября 2019

Существует столбец xml (ArrayOfString) с результатами строки json. Мне нужно найти конкретные узлы и получить их значение.

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <string>
        [report_submit_1, {
        "total": 14,
        "report": [
                {
                "date": "11/02/2018",
                etc...
                },
                {
                "date": "01/02/2019",
                etc...
                },
                {
                "date": "12/12/2018",
                etc...
                },
                etc...
            ]
        }]
    </string>
    <string>
        [something_else, {
        "total": 1,
        "report": [
                {
                "date": "12/15/2018",
                etc...
                },
                {
                "date": "03/25/2019",
                etc...
                },
                {
                "date": "04/12/2019",
                etc...
                },
                etc...
                ]
        }]
    </string>
    <string>
        [report_submit_2, {
        "total": 22,
        "report": [
                {
                "date": "05/22/2019",
                etc...
                },
                {
                "date": "01/02/2019",
                etc...
                },
                {
                "date": "12/12/2018",
                etc...
                },
                etc...
                ]
        }]
    </string>
</ArrayOfstring>
SELECT 
Xml.value('(.[1])', 'VARCHAR(MAX)') AS Results
FROM tableA 
WHERE Xml.exist('(/ns:ArrayOfString/ns:string[contains(.,"report_submit")])') = 0

Хотелось бы, чтобы это 'анализировалось' как стиль xls в результатах sql, поэтому его можно сохранить как файл Excel с заголовками

...