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出来的结果一样。
stuff对字符操作函数,看联机
cast数据类型转换函数,看联机
------解决方案--------------------
学习了
