Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit SQL Attributwerte aus XML-Daten extrahieren?

Wie kann ich mit SQL Attributwerte aus XML-Daten extrahieren?

DDD
Freigeben: 2024-12-20 13:44:10
Original
620 Leute haben es durchsucht

How Can I Extract Attribute Values from XML Data Using SQL?

Erhalten von Attributwerten aus XML-Daten in SQL

Beim Arbeiten mit XML-Daten in Datenbanktabellen kann es erforderlich sein, den Wert von abzurufen spezifische Attribute innerhalb des XML-Inhalts. Eine mögliche Herausforderung besteht darin, den Wert eines Attributs zu extrahieren, wenn die Daten als XML-Datentyp gespeichert werden.

XML-Datenformat

Betrachten Sie den folgenden XML-Ausschnitt, der in einer Datenbank gespeichert ist :

<email>
  <account language="en" ... />
</email>
Nach dem Login kopieren

Abfragen des Attributwerts

Zum Abrufen Wenn Sie den Wert des Attributs „Sprache“ verwenden, können Sie XQuery in Ihrer SQL-Anweisung verwenden. XQuery ist eine XML-Abfragesprache, die speziell für die Abfrage und Verarbeitung von XML-Daten entwickelt wurde.

XQuery-Ausdruck

Der folgende XQuery-Ausdruck ruft den Wert des Attributs „Sprache“ aus dem ab XML-Daten:

/email/account/@language
Nach dem Login kopieren

SQL-Abfrage

Einbindung der Wenn Sie den XQuery-Ausdruck in Ihre SQL-Abfrage einfügen, können Sie den Attributwert wie folgt erhalten:

declare @xml xml =
'<email>
  <account language="en" />
</email>'

select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Nach dem Login kopieren

Zusätzliche Beispiele

Angenommen, Sie haben eine Tabelle mit dem Namen „@t“, die Folgendes enthält: mehrere XML-Zeilen:

insert @t values 
    ('<email><account language="en" /></email>'), 
    ('<email><account language="fr" /></email>')
Nach dem Login kopieren

Um die Attributwerte aus jeder Zeile zu extrahieren, können Sie Folgendes ausführen Abfrage:

select m.value('(/email/account/@language)[1]', 'nvarchar(max)')
from @t
Nach dem Login kopieren

Ausgabe

Die Ausgabe der obigen Abfrage ist eine Liste von Attributwerten:

en
fr
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit SQL Attributwerte aus XML-Daten extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage