for xml path mysql_如何在SQLServer中使用“for..._慕课猿问

本文详细介绍了如何在SQLServer中使用FOR XML PATH来生成XML。通过多个示例,展示了如何创建以元素为中心的XML,如何避免包装元素,如何连接列值,以及如何在分组后生成XML。此外,还提到了STUFF函数的使用,用于在生成的XML字符串中删除和插入字符。
摘要由CSDN通过智能技术生成

路径模式用于从SELECT查询生成XML。

1. SELECT

ID,

Name

FROM temp1

FOR XML PATH;

Ouput:

1

aaa

1

bbb

1

ccc

1

ddd

1

eee

输出是以元素为中心的XML,其中结果行集中的每个列值都封装在一个ROW元素中。由于SELECT子句没有为列名指定任何别名,因此生成的子元素名称与SELECT子句中相应的列名相同。

对于行集中的每一行,都会添加一个标记。

2.

SELECT

ID,

Name

FROM temp1

FOR XML PATH('');

Ouput:

1

aaa

1

bbb

1

ccc

1

ddd

1

eee

对于步骤2:如果指定零长度字符串,则不会产生包装元素。

3.

SELECT

Name

FROM temp1

FOR XML PATH('');

Ouput:

aaa

bbb

ccc

ddd

eee

4. SELECT

',' +Name

FROM temp1

FOR XML PATH('')

Ouput:

,aaa,bbb,ccc,ddd,eee

在步骤4中,我们将这些值连接起来。

5. SELECT ID,

abc = (SELECT

',' +Name

FROM temp1

FOR XML PATH('') )

FROM temp1

Ouput:

1   ,aaa,bbb,ccc,ddd,eee

1   ,aaa,bbb,ccc,ddd,eee

1   ,aaa,bbb,ccc,ddd,eee

1   ,aaa,bbb,ccc,ddd,eee

1   ,aaa,bbb,ccc,ddd,eee

6. SELECT ID,

abc = (SELECT

',' +Name

FROM temp1

FOR XML PATH('') )

FROM temp1 GROUP by iD

Ouput:

ID  abc

1   ,aaa,bbb,ccc,ddd,eee

在步骤6中,我们将日期按ID分组。

资料(源_字符串,开始,长度,添加_字符串)参数或参数源_String源字符串要修改的源字符串。启动Source_String中的位置以删除长度字符,然后插入Add_String。从source_string中删除的字符数。将要插入的字符序列添加到源_string中的起始位置。

SELECT ID,

abc =

STUFF (

(SELECT

',' +Name

FROM temp1

FOR XML PATH('')), 1, 1, ''

)

FROM temp1 GROUP by iD

Output:

-----------------------------------

| Id        | Name                |

|---------------------------------|

| 1         | aaa,bbb,ccc,ddd,eee |

-----------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值