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.XMLNS.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.XMLNS.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