新人不会SQL,看到一个SQL语句 请大家帮忙解答下啥意思 SELECT dah, fid=STUFF((SELECT ','+CAST(fid AS VARCHAR(10)) FROM tb1 WHERE dah= t.dah FOR XML PATH('')),1,1,'')
FROM TB1 t
GROUP BY dah
请问下 这个语句的意思 , for xml path 是啥意思 怎么理解, 还有 stuff 配合 cast 是啥意思
分享到:
------解决方案-------------------- 这个语句就是拼字符串的,cast就是转换数据类型的,stuff去看看联机文档.. ------解决方案-------------------- SELECT dah, fid=STUFF((SELECT ','+CAST(fid AS VARCHAR(10)) FROM tb1 WHERE dah= t.dah FOR XML PATH('')),1,1,'')
FROM TB1 t
GROUP BY dah
for xml path是SQL Server 2005以后版本支持的一种生成XML的方式
stuff函数的作用是去掉字符串最前面的逗号分隔符.
cast是数据类型转化为varchar()类型,后配合stuff函数处理。 ------解决方案--------------------
case 和convert 没区别,只是写法不一样罢了。for xml 那个 我也只会这样用。。。等高人来解答吧.. ------解决方案-------------------- CONVERT( VARCHAR(50),FID ) 和cast 有啥具体的区别?
转换的方式相同,convert多了日期的转换,其它一样
但convert转换样式更丰富也。 ------解决方案-------------------- for xml path 是啥意思
从xml文件读取数据,读取的结果和从表里select出来的结果一样。