ich ein paar Zeilen in einer Datenbank, die alle ein Element enthalten, die wie folgtWert auf ein Feld in XML XQuery mit passender
<ModuleData ModuleFieldGU="4dcdde21-40c6-4d1a-9fe1-1841935d3a68">
<DateTime>0001-01-01T00:00:00</DateTime>
<Boolean>false</Boolean>
<Int>0</Int>
<Varchar>Test District</Varchar>
<GUID>00000000-0000-0000-0000-000000000000</GUID>
<Modified>true</Modified>
</ModuleData>
ich über all diese und Spiel suchen müssen sieht, wo Das varchar-Element/node wird auf einen bestimmten Wert gesetzt.
Ich habe sowohl das followuing versucht, und weder scheint für mich
SELECT
Data.Element.value('(@Varchar)[1]', 'varchar(255)') as UserEmail
FROM
ModuleData
CROSS APPLY
XML_DATA.nodes('/ModuleData') AS Data(Element)
WHERE
Data.Element.value('(@Varchar)[1]', 'varchar(255)') = @UserEmail
und
SELECT
CAST(XML_DATA.query('data(/ModuleData[@Varchar])') as varchar(255)) as UserEmail
FROM
ModuleData
WHERE
XML_DATA.exist('/ModuleData[@Varchar = sql:variable("@UserEmail")]') = 1
aber zu funktionieren nicht funktioniert. Ich bin nicht wirklich auf dem Laufenden mit den Feinheiten der Verwendung von XQuery, um Daten aus XML zu erhalten. Kann mir jemand in die richtige Richtung zeigen?