新人不会SQL,看到一个SQL语句 请大家帮忙解答下啥意思

ILOVE_ASPNET 2013-06-27 11:39:09
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 是啥意思
...全文
158 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2013-06-27
  • 打赏
  • 举报
回复
CONVERT( VARCHAR(50),FID ) 和cast 有啥具体的区别? 转换的方式相同,convert多了日期的转换,其它一样 但convert转换样式更丰富也。
哥眼神纯洁不 2013-06-27
  • 打赏
  • 举报
回复
引用 2 楼 ILOVE_ASPNET 的回复:
[quote=引用 1 楼 sc273607742 的回复:] 这个语句就是拼字符串的,cast就是转换数据类型的,stuff去看看联机文档..
哦 这样啊 不太了解 CONVERT( VARCHAR(50),FID ) 和cast 有啥具体的区别, 还有那个for xml 语法不太理解。[/quote] case 和convert 没区别,只是写法不一样罢了。for xml 那个 我也只会这样用。。。等高人来解答吧..
Rotel-刘志东 2013-06-27
  • 打赏
  • 举报
回复
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函数处理。
ILOVE_ASPNET 2013-06-27
  • 打赏
  • 举报
回复
引用 1 楼 sc273607742 的回复:
这个语句就是拼字符串的,cast就是转换数据类型的,stuff去看看联机文档..
哦 这样啊 不太了解 CONVERT( VARCHAR(50),FID ) 和cast 有啥具体的区别, 还有那个for xml 语法不太理解。
哥眼神纯洁不 2013-06-27
  • 打赏
  • 举报
回复
这个语句就是拼字符串的,cast就是转换数据类型的,stuff去看看联机文档..
ILOVE_ASPNET 2013-06-27
  • 打赏
  • 举报
回复
引用 6 楼 hdhai9451 的回复:
for xml path 是啥意思 从xml文件读取数据,读取的结果和从表里select出来的结果一样。 stuff对字符操作函数,看联机 cast数据类型转换函数,看联机
谢谢各位楼上的,结贴 给分。
hackervip1988 2013-06-27
  • 打赏
  • 举报
回复
学习了
Andy__Huang 2013-06-27
  • 打赏
  • 举报
回复
for xml path 是啥意思 从xml文件读取数据,读取的结果和从表里select出来的结果一样。 stuff对字符操作函数,看联机 cast数据类型转换函数,看联机

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧