Heim >Datenbank >MySQL-Tutorial >Wie kann ich Attributwerte aus XML-Daten in SQL abrufen?
Attributwerte aus XML-Datentypen in SQL abrufen
Bei der Arbeit mit XML-Daten in SQL ist es oft notwendig, die Werte bestimmter Attribute zu extrahieren . Beispielsweise müssen wir möglicherweise den Wert des Attributs „Sprache“ aus dem folgenden XML abrufen:
<email> <account language="en" ... /> </email>
Um dies zu erreichen, können wir XQuery-Ausdrücke nutzen. Hier ist eine modifizierte Version Ihrer SQL-Abfrage mit XQuery:
SELECT @xml.value('(/email/account/@language)[1]', 'nvarchar(max)') FROM Mail
In dieser Abfrage verwenden wir die Funktion .value(), um das XML-Dokument abzufragen, das durch die Variable „@xml“ dargestellt wird. Der XQuery-Ausdruck „/email/account/@sprache“ gibt den Pfad zum gewünschten Attribut an und „[1]“ stellt sicher, dass wir den Wert des ersten (und einzigen) passenden Attributs abrufen.
Alternativ , können Sie den folgenden Tabellenausdruck verwenden, um die Attributwerte abzurufen:
declare @t table (m xml) insert @t values ('<email><account language="en" /></email>'), ('<email><account language="fr" /></email>') select m.value('(/email/account/@language)[1]', 'nvarchar(max)') from @t
Dieser Ansatz bietet eine präzisere und skalierbarere Lösung zum Abrufen von Attributwerten aus mehreren XML-Dokumenten in einem Tisch. Die Ausgabe der Abfrage lautet:
en fr
Das obige ist der detaillierte Inhalt vonWie kann ich Attributwerte aus XML-Daten in SQL abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!