2016-12-26 4 views
3

나는 그 안에 조건에 기초하여 어떤 텍스트가 나오는 질의를 가지고있다. 하지만 모든 조건에 대해 걱정하지 마십시오. 'md.OtherMedication ='OTHERMEDICATION '과 그 설명을 표시 할 때만 문제가 있습니다. 댓글이 값 다음 <shubham> 처럼이 예상 결과 아닙니다xml 경로는 쿼리를 실행하는 동안 <및 ">"에 대해 "<"을 반환합니다. 원래 가치를 얻는 방법?

&lt;shubham&gt; 

을 반환해야 그렇다면

. 다음은 내가 사용하고있는 쿼리입니다.

Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' THEN md.Comment ELSE '' END 
     FROM Medication md 
     WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N'') 

결과로 <shubham>가 예상됩니다.

답변

1

&lt;&gt;less thangreater than xml입니다. 당신이 그렇게 쿼리에 장착 할 수 :

Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' 
THEN Replace(Replace(md.Comment, '&lt;', '<'), '&gt;', '>') ELSE '' END 
FROM Medication md 
WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N'') 
5

한번에 주조 XML을 대 Varchar에 value() Method (xml Data Type)

select (Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' 
        THEN md.Comment ELSE '' END 
     FROM Medication md 
     WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N''),TYPE).value('.','varchar(max)') 

로하는 것은 위의 XML 태그의 모든 종류를 제거하고 당신에게 일반 텍스트를 제공 할 것입니다.

+0

감사합니다. @TT를 업데이트했습니다. –