이것은 간단하며 중괄호를 올바르게 입력하지 않아도 SQL SERVER XML 데이터를 쿼리하는 데 경험이 없으므로 정신이 없습니다.SQL Server 2008의 XML 열에서 WHERE 특성을 사용하는 방법
XML 형식의 열이 포함 된 간단한 테이블 NoSqlField이 있습니다. 이 NULL 또는
<root version="1.0">
<entry key="mykey">1</entry>
</root>
나는 < 항목 키 = "의 mykey"> 1 </항목들이 NoSqlField 열의 > 값이 테이블의 모든 행을 원하는 중 하나가 포함되어 있습니다.
where h.NoSqlField.ToString().IndexOf("<entry key=\"mykey\">1</entry>") > -1
가 결과를 반환하여 LINQ 쿼리, 그래서 확실히 거기
A (가로 .toString()를 사용하기 때문에 오히려 바보).
어떻게 T-SQL에서 동일한 쿼리를 실행할 수 있습니까? 나는 (...와 슬래시, 전체 경로없이) 다양한 변화에
SELECT * FROM mytable WHERE
NoSqlField.value('(//entry[@key=mykey])[1]','varchar(1)') = '1'
을 시도했지만 하나의 반환 행을 가지고 적이 없다.
이 (. 내가 해결 한 시도했지만 확실히 더 공부를합니다 2도) 작동합니다! 그냥 그렇게! 정확히 내가 무엇을 찾고 있었는지. 정말 고마워! – Olaf