Ich versuche eine einfache SQL XML Suche durchzuführen, aber aufgrund der zufälligen Speicherung der Daten im XML finde ich es schwierig herauszufinden, wie man das XML sucht, um das XML anzuzeigen Suchparameter.XML SQL Suche ohne ID Feldname
Ich habe ein Feld namens ParameterStr, das XML-Daten wie unten gezeigt enthält. Ich muss den Knotenwert anzeigen.
Unten ist mein Code, aber alles, was ich bekomme, wenn ich versuche, die Suche nach der Null ist. Der Eintrag variiert je nach Auftrag, sodass ich diesen Knoten nicht abwählen kann.
Jede Hilfe wäre großartig. Code:
GO
DECLARE @SearchForT1 NVARCHAR(100)
set @SearchForT1 = 'T_Minus1';
select ParameterStr.exist ('/Parameters/Parameter[VariableName=sql:variable("@SearchForT1")]/valueasstring[0]') from tbl_TextXMLData
XML IN Field: ParameterStr
<Parameters>
<Parameter>
<VariableID>(10203,14505)</VariableID>
<VariableName>RushFee</VariableName>
<ValueAsString>0</ValueAsString>
</Parameter>
<Parameter>
<ID>(132979,14030)</ID>
<VariableID>(10314,14505)</VariableID>
<VariableName>T_Minus3</VariableName>
<ValueAsString>01/13/2017 4:00PM</ValueAsString>
<ValueAsDateTime>01/13/2017 4:00PM</ValueAsDateTime>
</Parameter>
<Parameter>
<ID>(132978,14030)</ID>
<VariableID>(10313,14505)</VariableID>
<VariableName>T_Minus2</VariableName>
<ValueAsString>01/16/2017 4:00PM</ValueAsString>
</Parameter>
<Parameter>
<ID>(132977,14030)</ID>
<VariableID>(10312,14505)</VariableID>
<VariableName>T_Minus1</VariableName>
<ValueAsString>01/17/2017 4:00PM</ValueAsString>
</Parameter>
</Parameters>
Es gibt so etwas wie eine SQL-Datenbank ** keine ** - SQL ist nur der Structured Query Language - eine Sprache, die von vielen Datenbanksystemen verwendet werden, aber es ist nicht eine Datenbank Produkt. Viele Dinge wie die XML-Unterstützung sind ** sehr ** herstellerspezifisch - also müssen wir wirklich wissen, welches Datenbanksystem ** (und welche Version) Sie verwenden ... (bitte aktualisieren Sie die Tags entsprechend). –