SQLServerでのXMLプログラミングは初めてです。これはおそらく皆さんにとって簡単な質問になるでしょう!
SQL Server 2005にTestXMLというデータベーステーブルがあります。これには、xmlデータ型のtestXML列が1つあります。この列のデータは次の形式です。
<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>
Bar / Control / @ 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()]:XQuery構文'/ function()'はサポートされていません。
誰かが私がこのクエリを書くのを手伝ってくれませんか。よろしくお願いします。