当前位置:网站首页>Sql Server STUFF与FOR XML PATH
Sql Server STUFF与FOR XML PATH
2022-07-28 16:32:00 【沧鹫小hai】

要求按type分组查询后,把相同type的,name列值合并,达到如下效果:

解析如下:
一、FOR xml path
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数或存储过程来完成的工作。那么以一个实例为主.
假设有张查询表如下

sql 一:
select type,name from tb_account where name like '%测试入职%' FOR xml path查询结果<row> <type>0</type> <name>测试入职登录</name> </row> <row> <type>1</type> <name>测试入职6</name> </row> <row> <type>0</type> <name>测试入职</name> </row>sql 二:
select type,name from tb_account where name like '%测试入职%' FOR xml path('')查询结果:
<type>0</type> <name>测试入职登录</name> <type>1</type> <name>测试入职6</name> <type>0</type> <name>测试入职</name>
sql 三:
select type,name from tb_account where name like '%测试入职%' FOR xml path('root')查询结果 :
<root> <type>0</type> <name>测试入职登录</name> </root> <root> <type>1</type> <name>测试入职6</name> </root> <root> <type>0</type> <name>测试入职</name> </root>sql 四:
select 10+type,','+name+',' from tb_account where name like '%测试入职%' FOR xml path('')查询结果
10,测试入职登录,11,测试入职6,10,测试入职,
二、stuff函数stuff(param1, startIndex, length, param2)
说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。备注
如果开始位置或长度值是负数,或者如果开始位置大于第一个字符串的长度,将返回空字符串。如果要删除的长度大于第一个字符串的长度,将删除到第一个字符串中的第一个字符。示例
以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO下面是结果集:
---------
aijklmnef
边栏推荐
- ng-repeat在迭代最后一个元素时执行一个方法
- 漫谈测试平台—建设模式探讨
- 技术面轻松通过,HR:只有三年大厂经验的不值20K
- 软件测试培训两个月骗局?培训机构到底如何选择?
- Can‘t use an undefined value as an ARRAY reference at probe2symbol
- JVM performance tuning
- 【C语言进阶】——剖析入微数据在内存中的存储 【下】(浮点数存储)
- MySQL面试题大全(陆续更新)
- 网上出现的js小数计算的除法优化
- Random talk on test platform - platform construction ideas (Part 1)
猜你喜欢

R语言画图/绘图/作图2

R中因子(factor)

Random talk on test platform - platform construction ideas (Part 1)

Insert text watermark in PDF

Blue Bridge Cup embedded competition resources and skills
![【C语言进阶】——剖析入微数据在内存中的存储[上]](/img/6a/ac723cee2543cd2403a7e58d556c8e.png)
【C语言进阶】——剖析入微数据在内存中的存储[上]
![[untitled]](/img/86/d284eec4eda6a41676d7455b7ea70b.png)
[untitled]

Hgu95av2. Online installation failed

软件测试前景如何?该如何进行学习呢?

Solve package is not available (for R ve [package 'xxx' is not available (for R version x.y.z) "warning?]
随机推荐
多大适合学习软件测试?
Arya-专业web自动化测试平台
dos命令大全 基础命令+网络的常用命令
Flat data to tree
产品研发中第三方技术服务的管理
Esp-mqtt-at instruction connects Alibaba cloud Internet of things platform
小白必看的软件测试发展路线
特殊质数js实现
Insert text watermark in PDF
MySQL高级-MVCC(超详细整理)
Talking about test platform -- Discussion on construction mode
clang format
Awk of shell script
从非儿童网站看基线安全到底有多重要
Sed of shell programming
软件测试到底有没有前景和出路?
Visual object class introduces Pascal VOC dataset
Mqtt.fx connects to Alibaba cloud Internet of things platform
easyui tree
About standard IO buffers