Sql 如何在不声明XML的情况下执行子查询?
为什么不执行此查询Sql 如何在不声明XML的情况下执行子查询?,sql,sql-server,Sql,Sql Server,为什么不执行此查询 选择[Value]=T.c.Value'.'、'varchar30'从SELECT+REPLACE SELECT tag_id+'、'FROM tbl_container_track for xml path'、'、'.+.nodes'/s'Tc尝试以下操作:转换为您错过的xml数据类型 SELECT [Value] = T.c.value('.', 'varchar(30)') FROM (SELECT Cast(( '<s>' + Replace ((S
选择[Value]=T.c.Value'.'、'varchar30'从SELECT+REPLACE SELECT tag_id+'、'FROM tbl_container_track for xml path'、'、'.+.nodes'/s'Tc尝试以下操作:转换为您错过的xml数据类型
SELECT [Value] = T.c.value('.', 'varchar(30)')
FROM (SELECT Cast(( '<s>' + Replace ((SELECT tag_id+',' FROM tbl_container_track FOR xml path('')), ',', '</s> <s>')
+ '</s>' ) AS XML)) AS Data
CROSS APPLY Data.nodes('/s') T(c)
在强制转换操作后为列指定别名,但执行所花的时间非常慢!!这种XML操作在SQLServer中不是一件很快的事情。使用类型化XML可能会有所帮助,但在优化性能时,请始终小心使用这样的XML。