저는 SQL Server에서 XML 프로그래밍을 처음 접했습니다. 이것은 아마 너희들에게 간단한 질문 일 것이다!SQL Server 2005 XML Column에서 최대 날짜를 어떻게 선택합니까?
SQL Server 2005에서 TestXML이라는 데이터베이스 테이블이 있습니다. xml 데이터 형식의 testXML 열이 하나 있습니다. 이 열의 데이터의 형식은 다음과 같습니다
<TEST name="testName" status="Completed">
<Status CompletedOn="2011-11-01T01:12:13Z"/>
<Bar number="1" status="Pending">
<Control RequestDate="2011-11-30T01:12:13Z"/>
</Bar>
<Bar number="2" status="Pending">
<Control RequestDate="2011-11-30T01:11:13Z"/>
</Bar>
<Bar number="3" status="Pending">
<Control RequestDate="2011-11-30T01:13:13Z"/>
</Bar>
</TEST>
내가, 내가 돌아 내 쿼리를하려면 위의 예에서, 그래서, 바/제어/@의 RequestDate에서 최대 RequestDate을 반환하는 쿼리를 작성하려면 - 2011-11-30T01 : 13 : 13Z
지금까지, 나는 시도했다 :
이SELECT testXML.query('max(//@RequestDate)') from TestXml
WHERE testXML.value('(/TEST/@status)[1]', 'varchar(20)') = 'Completed'
이 빈 값을 반환합니다 .... 내가 testXML.query('max(//string(@RequestDate))')
으로하려고하면 나는 다음과 같은 오류가 발생합니다 :
XQuery [TestXml.testXML.query()]: The XQuery syntax '/function()' is not supported.
누군가이 질문에 대한 답변을 제공해 드릴 수 있도록 도와주세요. 미리 감사드립니다.