0

しばらくの間コンパイルしたログ/監査があり、簡単なレポートを実行したいと思います。

ログの列の1つはJSONですが、XMLが含まれています。各行の特定のXMLタグの値を解析できるようにする必要があります。したがって、次のような任意の文字列が与えられます。

{ "XmlData" :"<tag1><tag2><TagToParse>234</TagToParse></tag2><tag1>".....}

タグ名TagToParseを指定すると234を返すSQLクエリを実行したいと思います

SQLでこれを完全に行う最も簡単な方法は何ですか?

4

1 に答える 1

0

コンテナが常にtag1になるようにすると、次のようになります。

DECLARE @MyXML XML
SET @MyXML = '<tag1><tag2><TagToParse>234</TagToParse></tag2></tag1>'

SELECT
 a.b.value('(/tag1//TagToParse/node())[1]', 'nvarchar(max)') AS Tag
FROM @MyXML.nodes('tag1') a(b)

幸運を。

于 2013-01-22T18:52:01.537 に答える