SINGULAR 関数は、リストに厳密に 1 つのエレメントが含まれているかどうかを示すブール値を戻します。
ListExpression で指定されたリストに厳密に 1 つのエレメントが含まれている場合、SINGULAR は TRUE を戻します。リストに複数のエレメントが含まれているか、エレメントが含まれていない場合は、SINGULAR は FALSE を戻します。
リストに含まれているエレメントが 1 つのみかそれ以外かのみ知りたい場合は、CARDINALITY 関数に関する式 (CARDINALITY(ListExpression ) = 1 など) よりも、SINGULAR の方が速く実行できます。
この関数の一般的な使用法としては、フィールドが固有かどうかを判別する場合があります。
-- Determine whether there is just one F1 field in the message. -- Note that the [ ] are required DECLARE Field1Unique BOOLEAN SINGULAR(OutputRoot.XML.Data.Source.F1[]);
-- Determine whether there is just one field called F1 with the value 'F12' -- in the message. Again note that the [ ] are required DECLARE Field1F12Unique BOOLEAN SINGULAR(SELECT F.* FROM OutputRoot.XML.Data.Source.F1[] AS F where F = 'F12');