2017-12-20 32 views
0

아래의 XML을 SQL select 문에서 쿼리하여 book3의 유형을 찾으려고합니다.XML의 다음 노드를 SQL의 텍스트 내용으로 선택

<Book> 
    <Title>Book1</Title> 
    <Type>fiction</Type> 
    <Cost>9.99</Cost> 
</Book> 

<Book> 
    <Title>Book2</Title> 
    <Type>non-fiction</Type> 
    <Cost>5.99</Cost> 
</Book> 

<Book> 
    <Title>Book3</Title> 
    <Type>fiction</Type> 
    <Cost>14.99</Cost> 
</Book> 

<Book> 
    <Title>Book4</Title> 
    <Type>non-fiction</Type> 
    <Cost>19.99</Cost> 
</Book> 
... 

나는 텍스트로이 검색하여 내 선택 성명에서 "3 권"의 제목을 선택하려고하고, 즉, book3을 다음과 유형, 소설

지금까지 내가 선택을 수행 할 수 있습니다 아래의 인덱스로하지만 실제로 어떤 종류의 텍스트를 통합하여 노드를 찾으려면 = '책 3'문.

SELECT XML.value '결과'

로 ('(/ * // 도서/제목/노드()) [3]', 'NVARCHAR (최대)') 내가하는 방법에 익숙하지 않다 이렇게해라. (나는이 접근법에 대해 매우 익숙하다.)

누구나이 방법에 대한 조언을 해 줄 수 있습니까? 또는 온라인에서 좋은 자료가 있다면 (SQL에서이를 수행하는 방법에 관한 부분 만 찾을 수 있습니다)

고마워요!

+0

가능한 중복 : //stackoverflow.com/questions/10344553/how-can-i-query-a-value-in-sql-server-xml-column) – SaggingRufus

+0

실제 사용한 데이터베이스 관리 시스템을 언급하거나 태그에 추가해야합니다. 우리가 SQL Server에 대해 정말로 이야기하고 있는지 확인하십시오. – Markus

+0

Try'// Book [Title = "Book3"]/Type' – Andersson

답변

0

이 쿼리가 작동합니다 : //Book[Title="Book3"]/Type/text()

팁 :이 도구는 XPATH 쿼리를 테스트하는 데 유용 할 수 있습니다 http://www.xpathtester.com/xpath

[내가 SQL 서버 XML 열에서 값을 조회 할 수 있습니다 방법] (HTTPS의
+1

그게 내가 너 자신에게 감사하고 \t 세부 사항을 제공 해주신 Andersson입니다! – user7575401