1
我有以下格式化的XML:T-SQL查詢XML數據
<ROOT>
<table1>
<row ID="1".... \>
</table1>
<table2>
<row ID="1".... \>
</table2>
...
</ROOT>
我想產生一個返回的查詢:
TableName
table1
table2
...
換言之,每個節點下的值
我有以下格式化的XML:T-SQL查詢XML數據
<ROOT>
<table1>
<row ID="1".... \>
</table1>
<table2>
<row ID="1".... \>
</table2>
...
</ROOT>
我想產生一個返回的查詢:
TableName
table1
table2
...
換言之,每個節點下的值
DECLARE @data XML;
SET @data =
N'
<root>
<table1>
<row ID="1"/>
</table1>
<table2>
<row ID="1"/>
</table2>
</root>';
SELECT
T.myAlias.value('fn:local-name(..)', 'nvarchar(50)') as ParentOf_RowElement_Name
FROM
@data.nodes('//row') AS T(myAlias)
;
ParentOf_RowElement_Name
--------------------------------------------------
table1
table2
OR
DECLARE @data XML;
SET @data =
N'
<root>
<table1>
<row ID="1"/>
</table1>
<table2>
<row ID="1"/>
</table2>
</root>';
SELECT
T.myAlias.value('fn:local-name(.)', 'nvarchar(50)') as ChildOf_RootElement_Name
FROM
@data.nodes('//root/*') AS T(myAlias)
;
ChildOf_RootElement_Name
--------------------------------------------------
table1
table2
對不起,所需的輸出格式不正確。基本上我只想要一個ROOT節點下的所有值(table1,table2等)的列表。 – user2284233
您使用的是哪個版本的SQL Server? – harpo