一个面试题引发的蝴蝶效应

来源:互联网 发布:linux mysql 日志 编辑:程序博客网 时间:2024/06/06 22:07

笔者因即将出去面试。而在网上寻找些许面试题。偶然发现一个这样的面试题


他下方给出的答案是存储过程+游标。反正看的笔者一脸懵比(笔者是菜鸟)。于是笔者觉得这种方式是否太复杂。于是笔者又四处去查询资料。偶然发现这种方法也就是 FOR XML PATH 他是将查询结果集以XML的格式返回。贴图:

stuff函数是一个拼接字符串的函数他总共有4个参数,第一个为字符串也就是要操控的对象。例如上方图的(select ','+b.name
              from TEST_SP b
              where b.id=a.id
              for xml path(''))

第二个参数就是从第几个字符起,第三个就是删除几个字符,第四个是将什么字符串从第几个字符插入进去。就好像是。将字符串代替从第几个字符起的几个字符。。可能有点绕。自己可以实验一下,

好。我们在分析上方图片里代码的意思:select ','+b.name  for xml path(' ')就是将name列的字符通过 , 逗号 拼接在一起 如果没加Stuff 他的结果就是   ,北,京,的,

至于后面的 for xml path(' ') 就是通过括号里的内容改变根节点的名称,如有错误,欢迎各位大神点出。谢谢


0 0
原创粉丝点击