A função SINGULAR retorna um valor BOOLEAN indicando se uma lista contém exatamente um elemento.
Se a lista especificada por ListExpression contiver exatamente um elemento, SINGULAR retornará TRUE. Se a lista contiver mais ou menos elementos, SINGULAR retornará FALSE.
Se você desejar apenas saber se uma lista contém exatamente um elemento ou algum outro número, SINGULAR será executado de modo mais rápido que uma expressão que envolva a função CARDINALITY (por exemplo, CARDINALITY(ListExpression ) = 1).
Um uso comum dessa função é determinar se um campo é exclusivo.
-- Determinar se existe apenas um campo F1 na mensagem. -- Observe que os [ ] são requeridos DECLARE Field1Unique BOOLEAN SINGULAR(OutputRoot.XML.Data.Source.F1[]);
-- Determinar se existe apenas um campo chamado F1 com o valor 'F12' -- na mensagem. Novamente, observe que os [ ] são requeridos DECLARE Field1F12Unique BOOLEAN SINGULAR(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');