A função CARDINALITY retorna o número de elementos em uma lista.
CARDINALITY retorna um valor inteiro que fornece o número de elementos na lista especificada por ListExpression.
Um uso comum dessa função é determinar o número de campos em uma lista antes de iterá-los.
-- Determinar o número de campos F1 na mensagem. -- Observe que os [ ] são requeridos DECLARE CountF1 INT CARDINALITY(OutputRoot.XML.Data.Source.F1[]);
-- Determinar o número de campos chamados F1 com o valor 'F12' na mensagem. -- Novamente, observe que os [ ] são requeridos DECLARE CountF1F12 INT CARDINALITY(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');
-- Utilize o valor retornado por CARDINALITY para referir-se a um elemento específico -- em uma lista ou matriz: -- Os índices de matriz iniciam com 1, portanto, este exemplo refere-se à antepenúltima -- instância do campo Item Body.Invoice.Item[CARDINALITY(Body.Invoice.Item[]) - 2].Quantity