- Kategorien:
Konvertierungsfunktionen, Funktionen für semistrukturierte und strukturierte Daten (Umwandlung)
TO_XML¶
Wandelt einen VARIANT-Wert in einen VARCHAR-Wert um, der eine XML-Darstellung des Werts enthält. Wenn der Eingabewert NULL ist, ist auch das Ergebnis NULL.
Syntax¶
Argumente¶
expressionEin Ausdruck, der einen Wert vom Typ VARIANT ergibt oder der in einen VARIANT-Wert umgewandelt werden kann.
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist VARCHAR.
Nutzungshinweise¶
Diese Funktion wird häufig für Folgendes verwendet:
Generierung einer Zeichenfolge, die einen XML-formatierten Wert enthält, der mit einem ursprünglich eingefügten XML-formatierten Wert übereinstimmt.
Umwandlung eines semistrukturierten Wertes (der ursprünglich nicht unbedingt als XML formatiert sein muss) in einen XML-formatierten Wert. Sie können zum Beispiel TO_XML verwenden, um eine XML-kompatible Darstellung eines Wertes zu generieren, der ursprünglich als JSON formatiert war.
Wenn der Eingabeausdruck
expressionkeinen VARIANT-Wert ergibt, führt Snowflake implizit eine Umwandlung des Ergebnisses des Ausdrucks in einen VARIANT-Wert aus. Da alle anderen Snowflake-Datentypen in einen VARIANT-Wert umgewandelt werden können, bedeutet dies, dass ein Wert eines beliebigen Datentyps an TO_XML übergeben und in eine XML-formatierte Zeichenfolge umgewandelt werden kann. (Der Datentyp GEOGRAPHY stellt teilweise eine Ausnahme dar: Um TO_XML mit einem Wert vom Typ GEOGRAPHY aufzurufen, müssen Sie den GEOGRAPHY-Wert explizit in einen VARIANT-Wert umwandeln).Wenn der Wert ursprünglich kein XML-Wert war, generiert Snowflake XML-kompatible Tags. Diese Tags können das Attribut
typeverwenden, um den Snowflake-Datentyp des Tag-Inhalts anzugeben. Nachstehend finden Sie Beispiele für von Snowflake generierte Tags.Das äußerste Tag-Paar sieht ungefähr wie folgt aus:
Der im Attribut
typedes Tags angegebene Datentyp kann variieren.Bei einem OBJECT basieren die Tags jedes Schlüssel-Wert-Paares auf dem Schlüssel. Beispiel:
Bei einem ARRAY ist jedes Element des Arrays in einem Tag-Paar ähnlich dem Folgenden:
Hier ist ein vollständiges Beispiel für die XML eines einfachen OBJECT-Werts, der zwei Schlüssel-Wert-Paare enthält:
Hier ist ein vollständiges Beispiel für die XML eines einfachen ARRAY-Werts, der zwei VARCHAR-Werte enthält:
Beispiele¶
In diesem Beispiel wird gezeigt, wie Sie die Funktion verwenden, wenn Sie XML-formatierte Daten durch den Aufruf von PARSE_XML in ein OBJECT geladen haben.
Erstellen Sie eine Tabelle, und fügen Sie Daten ein:
Rufen Sie die TO_XML- und TO_VARCHAR-Funktionen auf:
Sie können die Funktion TO_XML auch mit Daten aufrufen, die nicht von XML-formatierten Daten stammen, wie in den folgenden Beispielen gezeigt.
Im folgenden Beispiel wird ein einfaches OBJECT erstellt und dann die entsprechende XML generiert. Die XML-Ausgabe enthält Informationen zu den Datentypen der Werte in den Schlüssel-Wert-Paaren sowie zum Datentyp des Gesamtwerts (OBJECT).
Im folgenden Beispiel wird ein einfaches ARRAY erstellt und dann die entsprechende XML generiert. Die XML-Ausgabe enthält Informationen zu den Datentypen der Array-Elemente sowie zum Datentyp des Gesamtwerts (ARRAY).
Mit dem folgenden Beispiel werden Daten im JSON-Format eingefügt und dann die entsprechende XML generiert: