For xml path

时间:2023-03-08 18:54:06

Select * from tb for xml path('')

特点:

1. 以xml形式展示查询数据。

2. 自定义数据展示类型。

实例

1. Select * from tb for xml path

<row><id>1</id><name>小李</name><age>27</age><sex>1</sex></row><row><id>2</id><name>小丽</name><age>25</age><sex>0</sex></row><row><id>3</id><name>小赵</name><age>26</age><sex>1</sex></row><row><id>4</id><name>小王</name><age>28</age><sex>1</sex></row>

2. Select * from tb for xml path('')

<id>1</id><name>小李</name><age>27</age><sex>1</sex><id>2</id><name>小丽</name><age>25</age><sex>0</sex><id>3</id><name>小赵</name><age>26</age><sex>1</sex><id>4</id><name>小王</name><age>28</age><sex>1</sex>

3. Select * from tb for xml path('MyXml')

<MyXml><id>1</id><name>小李</name><age>27</age><sex>1</sex></MyXml><MyXml><id>2</id><name>小丽</name><age>25</age><sex>0</sex></MyXml><MyXml><id>3</id><name>小赵</name><age>26</age><sex>1</sex></MyXml><MyXml><id>4</id><name>小王</name><age>28</age><sex>1</sex></MyXml>

4. Select ' MyName '+field+' MyName ' from tb for xml path('')

MyName 小李 MyName  MyName 小丽 MyName  MyName 小赵 MyName  MyName 小王 MyName

5. select ','+field from tb for xml path('')

,小李,小丽,小赵,小王

6. Select stuff((select ','+field from tb for xml path('')),1,1,'') from tb

name
小李,小丽,小赵,小王
小李,小丽,小赵,小王
小李,小丽,小赵,小王
小李,小丽,小赵,小王

stuff(expression1,start,length,expression2)

实例:

在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的3个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。

SELECT STUFF('abcdef', 2, 3, 'string');    --结果:astringef