2010-08-18 4 views
0

데이터베이스에는 3 개의 열 empID, badgID, XMLDATA가있는 테이블 EMP가 있습니다.TABLE에서 XML 속성을 읽는 방법은 무엇입니까?

XMLDATA는 데이터 형식 "CLOB"이 데이터의 형식은 -

<Record id="11"> 
    <Demo rID="5"/> 
</Record> 

내가 단일 쿼리 위의 XMLDATA에서 노드 "데모"값의 속성 "제거"를 읽을 수 있습니까?

서버 - SQL Server 2005의

+1

코드 또는 XML을 게시하는 경우 텍스트 편집기에서 해당 행을 강조 표시하고 "코드"버튼을 클릭하십시오. (101 010)을 멋지게 포맷하고 구문을 강조하기 위해 편집기 툴바에 추가하십시오! –

+1

실제 데이터 유형은 무엇입니까? 'clob'은 내가 아는 한 SQL Server 데이터 유형이 아닙니다. –

+0

진지하게 - 데이터 유형 "CLOB"?? 내가 아는 한, SQL Server에는'IMAGE, TEXT, NTEXT' (모두 쓸데없는) 또는'(N) VARCHAR (MAX)'또는'VARBINARY (MAX)'또는'XML'-이 있습니다. 그래서 그것은 정말로? –

답변

2

당신이 당신의 데이터를 SQL Server의 데이터 형식 XML로 저장 한 경우에, 당신이 할 수 있습니다 : 당신의 데이터 형식 하지 XML 경우

SELECT 
    empID, badgID, 
    XmlData.value('(/Record/Demo/@rID)[1]', 'int') as 'rID' 
FROM 
    dbo.YourTable 

를 - 그것은 정말 해야한다! 다음과 같이 사용할 수 있습니다 (모든 경우에 적용되지 않음).

+0

감사합니다. 두 쿼리를 모두 시도했지만 실패하고 "스키마 XMLDATA가 없습니다."라는 메시지가 나타납니다. 그러나 XMLDATA 열이 테이블에 있습니다. – indigenious

+0

@indigenious : 실제 테이블 구조를 보여줄 수 있습니까? 데이터베이스 다이어그램 또는 뭔가 ?? –

+0

불편을 끼쳐 드려 죄송합니다. 데이터베이스에 대한 읽기 권한 만 있고 아키텍처에 대해 알지 못합니다. – indigenious

관련 문제