我有一個保存關於我的遊戲信息的XML列。以下是一些信息樣例。SQL2008中XML持續時間元素的總和
<game xmlns="http://my.name.space" >
<move>
<player>PlayerA</player>
<start movetype="Move">EE5</start>
<end movetype="Move">DF6</end>
<movetime>PT1S</movetime>
</move>
<move>
<player>PlayerB</player>
<start movetype="Move">CG7</start>
<end movetype="Move">DE6</end>
<movetime>PT3S</movetime>
</move>
<move>
<player>PlayerA</player>
<start movetype="Move">FD3</start>
<end movetype="Move">EG8</end>
<movetime>PT4S</movetime>
</move>
</game>
我想設計一個XML查詢來取我的movetime元素的總和。基本上我需要每個球員移動時間的總和。因此,使用上面的示例,PlayerA的總移動時間爲5秒,而PlayerB的總移動時間爲3秒。
這裏的,我一直在目前一直使用
SELECT GameHistory.query('declare default element namespace "http://my.name.space"; data(/game/move/movetime)') AS Value FROM GamesWHERE Id=560
我是一個新手,以XSLT/XPATH功能的XML查詢:P
UPDATE
的movetime元素目前包含完整的持續時間;所以如果玩家採取1:1:23進行移動,那麼它將保存爲PT1H1M23S
儘管如果它更容易,我確實有能力改變它,以便它只存儲總秒數。
有趣的問題!請澄清''可以包含完整的「持續時間」語法,還是僅包含秒(這會更簡單)。 –
Tomalak
2010-03-24 20:28:18
對不起,我已經更新了這個問題來澄清。 – Matt 2010-03-24 21:08:04