金莎娱乐手机版灵活运用 SQL SEEvoqueVE本田UR-V FOENVISION XML PATH

docs.microsoft.com 链接:  [SQL 

FORAV4 XML PATH
有的人唯恐知道有些人只怕不知道,其实它就是将查询结果集以XML方式显示,有了它大家能够简化大家的查询语句达成部分原先大概须求依靠函数活存款和储蓄进程来形成的专门的学问。那么以一个实例为主.

风华正茂.FO悍马H2 XML PATH 简介
那便是说依旧率先来介绍一下FO奥迪Q7 XML PATH
,倘使以往有一张兴趣爱好表(hobby)用来寄存在兴趣爱好,表结构如下:

](
XML PATH应用**

风华正茂.FO汉兰达 XML PATH 简介

金莎娱乐手机版 1

 

那么依旧率先来介绍一下FOSportage XML PATH
,尽管今后有一张兴趣爱好表(hobby)用来贮存兴趣爱好,表结构如下:金莎娱乐手机版 2

接下去我们来看使用FOGL450 XML PATH的查询结果语句如下:
SELECT * FROM @hobby FOR XML PATH
结果:

首先呢!我们在追加一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号,sName代表学生姓名,hobby列存学生的爱好!那么现在表结构如下:

接下去大家来看使用FOTiggo XML PATH的询问结果语句如下:

<row>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</row>
<row>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</row>
<row>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</row>

 

SELECT*FROM@hobbyFOR XML
PATH

由此可见FOLacrosse XML PATH 能够将查询结果依附行输出成XML各项!
那正是说,如何改动XML行节点的称呼呢?代码如下:
SELECT * FROM @hobby FOR XML PATH(‘MyHobby’)

           金莎娱乐手机版 3

结果:

结果决定也综上说述了啊?没有错原本的行节点<row>
产生了我们在PATH后边括号()中,自定义的称谓<MyHobby>,结果如下:

 

金莎娱乐手机版 4

<MyHobby>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</MyHobby>
<MyHobby>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</MyHobby>
<MyHobby>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</MyHobby>

       
那时,大家的渴求是查询学生表,展现全体学生的喜爱的结果集,代码如下:

<row>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</row>
<row>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</row>
<row>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</row>

以此时候留意的对象一定又会问那么列节点怎么样改造吗?还记的给列起外号的显要字AS吗?对了正是用它!代码如下:
SELECT hobbyID as ‘MyCode’,hName as ‘MyName’ FROM @hobby FOR XML
PATH(‘MyHobby’)

 

金莎娱乐手机版 5

那么那个时候大家列的节点名称也会编制程序我们自定义的称谓
<MyCode>与<MyName>结果如下:

SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT sName,
(SELECT hobby+',' FROM student 
  WHERE sName=A.sName 
  FOR XML PATH('')) AS StuList
FROM student A 
GROUP BY sName
) B 

简单的讲FOCRUISER XML PATH 能够将查询结果凭仗行输出成XML各样!

<MyHobby>
<MyCode>1</MyCode>
<MyName>爬山</MyName>
</MyHobby>
<MyHobby>
<MyCode>2</MyCode>
<MyName>游泳</MyName>
</MyHobby>
<MyHobby>
<MyCode>3</MyCode>
<MyName>美食</MyName>
</MyHobby>

       
 结果如下:金莎娱乐手机版 6

那么,怎么样转移XML行节点的称号呢?代码如下:

喔!
既然行的节点与列的节点大家都得以自定义,大家是否可以创设大家赏识的出口方式啊?依旧看代码:
SELECT ‘[ ‘+hName+’ ]’ FROM @hobby FOR XML PATH(”)
没有错大家还是能透过标志+号,来对字符串类型字段的出口格式进行定义。结果如下:
[ 爬山 ][ 游泳 ][ 美食 ]
那正是说任何品类的列怎么自定义?
不要紧,大家将它们调换来字符串类型就行啊!举例:
SELECT ‘{‘+STR(hobbyID)+’}’,'[ ‘+hName+’ ]’ FROM @hobby FOR XML
PATH(”)
好的 FORubicon XML PATH就基本介绍到这里呢,更加的多关于FO奥迪Q7XML的学问请查阅协理文档!
接下去大家来看一个FOR XML PATH的运用场景吧!那么早前吧。。。。。。
二.二个使用场景与FOLAND XML PATH应用
首先呢!大家在追加一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号,sName代表学生姓名,hobby列存学生的心爱!那么未来表结构如下:

 

SELECT*FROM@hobbyFOR XML
PATH(‘MyHobby’)

金莎娱乐手机版 7

SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby  正是来去掉逗号

 

此刻,大家的渴求是询问学生表,突显全体学生的欢畅的结果集,代码如下:

 

结果必然也由此可见了呢?没有错原本的行节点<row>
形成了我们在PATH前面括号()中,自定义的称呼<MyHobby>,结果如下:

SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT sName,
(SELECT hobby+’,’ FROM student
WHERE sName=A.sName
FOR XML PATH(”)) AS StuList
FROM student A
GROUP BY sName
) B

金莎娱乐手机版 8

结果如下:

<MyHobby>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</MyHobby>
<MyHobby>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</MyHobby>
<MyHobby>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</MyHobby>

金莎娱乐手机版 9

金莎娱乐手机版 10

解析: 好的,那么大家来剖判一下,首先看这句:
SELECT hobby+’,’ FROM student
WHERE sName=A.sName
FOR XML PATH(”)
那句是经过FO奥迪Q3 XML PATH 将某生机勃勃姓名如张三的喜欢,展现成格式为:“
爱好1,爱好2,爱好3,”的格式!
那就是说随着看:

相关文章