SQLServer XML 조회 18 마디 입문 강좌
/*01.
02.sql xml :
03. --by jinjazz
04. --http://blog.csdn.net/jinjazz
05.
06. 1、xml: 、
07.
08. 2、xpath: , windows ( dir )
09.
10. , :
11. "." ,".." ,"/" ,"//" ,
12. "name" ,"@name"
13.
14. " [ ]" ,
15. : ,last(),last()-
16. :position()< ,@name=' ',name=' '
17. :and or
18.
19. 3、xquery: xpath ,sqlserver xquery
20. exist(xpath ):
21. query(xpath ): xml
22. value(xpath , ): ,xpath
23. nodes(xpath ):
24.*/
declare @data xml
set @data='
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="jp">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="WEB">
<title lang="cn">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
-테스트 문 구 는 문법 을 이해 하지 못 하면 위의 xpath 규칙 과 xquery 함수 설명--1,문서 select@data--2,임의의 단계 에 price 노드 [email protected]('/price')-3 을 참고 하여 모든 북 노드 [email protected]('//book')-4,lang 속성 을 포함 하 는 모든 노드 [email protected]('/*[@lang]')-5 를 가 져 옵 니 다.첫 번 째 북 노드 [email protected]('/북[1]')-6,앞의 두 북 노드 [email protected]('/북[position()<=2]')-7,마지막 북 노드 [email protected]('/북[last()')-8,price>35 의 모든 북 노드 [email protected]('/북[price>35]')-9,category="WEB"의 모든 북 노드 [email protected]('/book[@category="WEB"]')--10,title 을 가 져 온 lang="en"의 모든 북 노드 [email protected]('//book/title[@lang="en"]')--11,title 을 가 져 온 lang="en"및 price>35 의 모든 북 노드 [email protected]('/book[./title[@lang="en"or price>35]')--12,title 의 lang="en"및 price>35 의 첫 번 째 책의(첫 번 째)title [email protected]('/book[./title[@lang="en"]and price>35]')를 가 져 옵 니 다.value('(book/title)[1]','varchar(max)'-13,12 [email protected]('/book[./title[@lang]and price>35]/title)[1],'varchar(max)'-14,title 의 lang="en"및 price>35 의 첫 번 째 북(첫 번 째)title 의 lang 속성 [email protected]('(/book[@category="WEB"and price>35]/title)[1]/@lang)[1],'varchar(max)'-15,첫 번 째 책 을 가 져 온 title select Tab.Col.value('(book/title)[1]','varchar(max)'as title [email protected]('bookstore')as Tab(Col)--16,각 책의 첫 번 째 author select Tab.Col.value('author[1]','varchar(max)'as title [email protected]('//book')as Tab(Col)--17,모든 책의 모든 정 보 를 가 져 옵 니 다 select T.C.value('title[1','varchar(max)')as title,T.C.value('year[1','int')as year,T.C.value('title[1]','varchar(max)'as title,T.C.value('price[1],'float')as price,T.C.value('author[1]','varchar(max)')as author 1,T.C.value('author[2','varchar(max)')as author 2,T.C.value('author[3]','varchar(max)')as author 3,T.C.value('author[4]','varchar(max)')as author 4 [email protected]('/book')as T(C)--18,일본어(lang!="jp")가격 이 35 책 이상 인 모든 정 보 는 selectT.C.value('title[1]','varchar(max)')as title,T.C.value('year[1]','int')as year,T.C.value('title[1]','varchar(max)'as title,T.C.value('price[1]','float')as price,T.C.value('author[1]','varchar(max)'as author1,T.C.value(max),'T.C.value(','varchar[1]','varchar(max)')as title,T.C.value('author1,'T.C.value(max)''author[3]','varchar(max)') as author3, T.C.value('author[4]','varchar(max)') as author4 from @data.nodes('//book[./title[@lang!="jp"] and price>35 ]') as T(C)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laradock에서 Laravel + SQLServer 환경 준비본 기사는 공식 문서의 신규 작성용의 프로젝트 순서에 따라, 다음의 디렉토리 구성이 된다고 가정합니다. 기본 설정 APP_CODE_PATH_HOST에 작성하려는 프로젝트 이름을 입력하십시오. SQL Server용 설...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.