我正在嘗試對「顏色」節點出現的次數進行計數,但迄今爲止不成功。如何統計sql xml中節點的出現次數
下面是我到目前爲止所嘗試的。
,如果我有以下邏輯:
DECLARE @MyXML XML
SET @MyXML = '<SampleXML>
<Colors>
<Color1>White</Color1>
<Color2>Blue</Color2>
<Color3>Black</Color3>
<Color4 Special="Light">Green</Color4>
<Color5>Red</Color5>
</Colors>
<Fruits>
<Fruits1>Apple</Fruits1>
<Fruits2>Pineapple</Fruits2>
<Fruits3>Grapes</Fruits3>
<Fruits4>Melon</Fruits4>
</Fruits>
</SampleXML>'
SELECT
count(a.b.value('Colors','varchar(10)')) AS Color1
FROM @MyXML.nodes('SampleXML') a(b)
我得到以下錯誤:
Msg 2389, Level 16, State 1, Line 50
XQuery [value()]: 'value()' requires a singleton (or empty sequence), found operand of type 'xdt:untypedAtomic *'
對於您的示例XML,結果是「1」嗎? –
@MikaelEriksson對不起,這是錯誤的,它是失敗 –