下面是一条SQL语句,它的作用是能够把<,>,",',&等字符转换成实体引用。但是有一句代码我不明白(最后一行代码内,括号中红色部分),有人可以帮我解释一下吗?谢谢。
--测试表 create table #test(id int,description varchar(100)) insert #test select 1,'1,3,4,5' insert #test select 2,'aa,b&c,vdfd.dsd,g<>f' select id, description1 from #test cross apply (select description1=(select [*]=Description for xml path(''))) C0
结果是:
id description1
1 1,3,4,5
2 aa,b&c,vdfd.dsd,g<>f
只知For XML Path是查询结果根据行按照XML模式输出,PATH()括号中的参数替代行节点的,也就是用''替代XML格式中的<row>,
后面的select [*]不理解,求详解。。
关于for XML Path可以参看微博:
http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
SELECT * FROM #test FOR XML PATH
SELECT * FROM #test FOR XML PATH('') 看看结果就理解了。
求详解