关于在sql查询中使用xml的一些方法实例
DECLARE @xml xml
--SET @xml = (SELECT ROW_NUMBER() OVER (ORDER BY [Index]) AS num, [Index] FROM NC_UserItem WHERE UserID = 66 AND [Count]<99
--FOR XML PATH)
--SET @xml = (SELECT [Index] FROM NC_UserItem WHERE UserID = 66 AND [Count]<99
--FOR XML RAW)
SET @xml = (SELECT 1 AS Tag,NULL AS Parent, [Index] as [row!1!],ROW_NUMBER() OVER (ORDER BY [Index]) AS [row!1!num] FROM NC_UserItem WHERE UserID = 66 AND [Count]<99
FOR XML EXPLICIT)
select @xml
SELECT T.c.value('.','int') AS result
FROM @xml.nodes('row') T(c)
--SELECT @xml.query('row[@Row=1]/[2]')
--SELECT @xml.query('((row)[1])[@Index]')
-- 上面是带入列值
-- 下面是带入变量值
DECLARE @id int
SET @id = 1
SELECT @xml.value('(/row[@num=sql:variable("@id")])[1]', 'varchar(10) ')
--SELECT @xml.query('((row)[1])')