CARDINALITY 関数は、リスト内のエレメントの数を戻します。
CARDINALITY は、ListExpression で指定された、リスト内のエレメントの数を示す整数値を戻します。
この関数の一般的な使用法としては、リスト内のフィールドを繰り返す前に、それらのフィールドの数を判別する場合があります。
-- Determine the number of F1 fields in the message. -- Note that the [ ] are required DECLARE CountF1 INT CARDINALITY(OutputRoot.XML.Data.Source.F1[]);
-- Determine the number of fields called F1 with the value 'F12' in the message. -- Again note that the [ ] are required DECLARE CountF1F12 INT CARDINALITY(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');
-- Use the value returned by CARDINALITY to refer to a specific element -- in a list or array: -- Array indices start at 1, so this example refers to the third-from-last -- instance of the Item field Body.Invoice.Item[CARDINALITY(Body.Invoice.Item[]) - 2].Quantity