Aşağıdaki sorgu, belirli bir Düğümün alt düğümünü seçmeye çalışıyor. Çocuk düğümünü kodlamak yerine, bir SPROP'ta parametreler olarak iletebilmem için bir değişkeni nasıl kullanırım?XQUERY - 'value()' işlevindeki sql: variable nasıl kullanılır?
declare @T table(XMLCol xml)
insert into @T values
('<Root xmlns="http://tempuri.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Elem1 type="T1">
<Name type="string" display="First name">John</Name>
<TimeZone display="Time zone">
<children>
<DisplayName type="string" display="Display name">GMT Standard Time</DisplayName>
<HiddenName type="string" display="Hidden name">GMT</HiddenName>
</children>
</TimeZone>
</Elem1>
</Root>')
declare @Node varchar(50)
set @Node = 'TimeZone'
select N.value('(children/DisplayName)[1]', 'varchar(100)') as Value
from @T as T
cross apply T.XMLCol.nodes('//*[local-name()=sql:variable("@Node")]') as X(N)
Bunu çalıştı. Bu şekilde çalışmıyor gibi görünüyor. –
Tekrar deneyiniz. Telefona yazması çok zor :). –
Ancak, bu çalışır, ancak yine de tüm tümceyi bir değişkenle nasıl değiştirebilirim - '(// TimeZone/children/* [local-name() = sql: variable ("@ NodeX")]) [1]' –