Wie Sie überprüfen, ob das XML-element hat das Attribut mit einem leeren string-Wert

Gibt es eine Möglichkeit zu überprüfen, dass der Wert eines Elements in das XML-Feld eine leere Größe mit SQLXML? Betrachten ich habe folgende Daten in der Spalte Conf der Tabelle Test:

<Conf>
  <UserData>
    <data type="str" value="" />
  </UserData>
</Conf>

Kann ich überprüfen, dass data vorhanden ist, mit der folgenden SQL Anfrage:

SELECT Test.Conf.exist('/Conf/UserData/data') FROM Test;

Aber wie kann ich überprüfen, ob data hat eine leere value? Es könnte so etwas wie die folgenden, aber es funktioniert nicht:

SELECT Test.Conf.value('(/Conf/UserData/data/@value)[1]', 'nvarchar(max)')='' FROM Test;

Meine Letzte Lösung ist die Verwendung der folgenden SQL-Anweisung:

SELECT Test.Conf.value('string-length(/Conf[1]/UserData[1]/data[1]/@value)', 'int') FROM Test;

InformationsquelleAutor Kirill V. Lyadvinsky | 2011-03-11

Schreibe einen Kommentar