La función CARDINALITY devuelve el número de elementos en una lista.
CARDINALITY devuelve un valor entero que proporciona el número de elementos en la lista especificada mediante ExpresiónLista.
Una utilización común de esta función es determinar el número de campos en una lista, antes de repetir sobre ellos.
-- Determinar el número de campos F1 en el mensaje. -- Observe que los corchetes [ ] son necesarios DECLARE CountF1 INT CARDINALITY(OutputRoot.XML.Data.Source.F1[]);
-- Determinar el número de campos denominados F1 con el valor 'F12' en el mensaje. -- Observe de nuevo que los corchetes [ ] son necesarios DECLARE CountF1F12 INT CARDINALITY(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');
-- Utilizar el valor devuelto por CARDINALITY para hacer referencia a -- un elemento específico en una lista o matriz: -- Los índices de la matriz empiezan por 1, por lo que este ejemplo hace -- referencia a la antepenúltima instancia del campo Item Body.Invoice.Item[CARDINALITY(Body.Invoice.Item[]) - 2].Quantity