Die SINGULAR-Funktion gibt einen Booleschen Wert (BOOLEAN) zurück, der anzeigt, ob eine Liste genau ein Element enthält.
Enthält die von ListExpression (Listenausdruck) angegebene Liste genau ein Element, gibt die SINGULAR-Funktion den Wert TRUE zurück. Wenn die Liste mehr oder weniger Elemente als 1 enthält, gibt SINGULAR den Wert FALSE zurück.
Wenn Sie lediglich wissen möchten, ob eine Liste ein Element oder eine andere Anzahl an Elementen enthält, liefert SINGULAR ein schnelleres Ergebnis als die Verwendung eines Ausdrucks mit der Funktion CARDINALITY (z. B. CARDINALITY(ListExpression ) = 1).
Häufig dient diese Funktion zur Ermittlung, ob ein Feld eindeutig ist.
-- Bestimmen, ob nur ein F1-Feld in der Nachricht vorhanden ist. -- [ ] sind erforderlich. DECLARE Field1Unique BOOLEAN SINGULAR(OutputRoot.XML.Data.Source.F1[]);
-- Bestimmen, ob nur ein F1-Feld mit dem Wert 'F12' -- in der Nachricht vorhanden ist. Auch hier sind [ ] erforderlich. DECLARE Field1F12Unique BOOLEAN SINGULAR(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');