COUNT_BIG 集約関数

COUNT_BIG 関数は、一連の行または値の行の数または値の数を戻します。 この関数は、結果が整数の最大値を超えることができることを除いて、COUNT と同じです。

構文図を読むビジュアルシンタックスダイアグラムをスキップするCOUNT_BIG(ALLDISTINCT*)

スキーマは SYSIBM です。

引数値は、BLOB、CLOB、DBCLOB、または XML 以外の任意の組み込みデータ・タイプ にすることができます。

この関数の結果は、精度が 31 で位取りが 0 の 10 進数です。 結果が NULL 値になることはありません。

COUNT_BIG(*) の引数は 1 組の行です。 結果は、集合の行の数です。 NULL 値のみから成る行もカウントに組み入れられます。

COUNT_BIG(expression) または COUNT_BIG(ALL expression の引数は 1 組の値です。 この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。 結果は、その組の中の NULL でない値の数です (重複を含む)。

COUNT_BIG(DISTINCT expression) の引数は 1 組の値です。 関数は、NULL 値と冗長な重複値を取り除くことにより、引数値から 引き出された値の集合に適用されます。 結果は、1 組の中の異なる非 NULL 値の数です。

例 1 : 整数型ホスト変数 FEMALE に、サンプルテーブル DSN8C10.EMP に含まれる女性の数を設定します。
   EXEC SQL SELECT COUNT_BIG(*)
     INTO :FEMALE
     FROM DSN8C10.EMP
     WHERE SEX = 'F';
例 2: 整数のホスト変数 FEMALE_IN_DEPT を、 メンバーとして少なくとも 1 人は女性がいる部門の数に設定します。
   EXEC SQL SELECT COUNT_BIG(DISTINCT WORKDEPT)
     INTO :FEMALE_IN_DEPT
     FROM DSN8C10.EMP
     WHERE SEX = 'F';
例 3 組み込み関数 COUNT_BIG と同じようなソース派生関数を作成するには、ソース派生関数の定義に、新しい関数を呼び出すときに指定できる列のタイプを含める必要があります。 この例では、CREATE FUNCTION ステートメントはソース派生関数を作成します。この関数は、入力として CHAR 列を取り、COUNT_BIG を使用してカウントを実行します。 結果は倍精度浮動小数点数として戻されます。 以下の照会はサンプル従業員表内の各部門の数をカウントしています。
   CREATE FUNCTION RICK.COUNT(CHAR()) RETURNS DOUBLE
          SOURCE SYSIBM.COUNT_BIG(CHAR());
   SET CURRENT PATH RICK, SYSTEM PATH;
   SELECT COUNT(DISTINCT WORKDEPT) FROM DSN8C10.EMP;

新しい関数 (RICK.COUNT) のパラメーター・リスト内の空の括弧は、 新しい関数の入力パラメーターが、SOURCE 文節で指定された関数の 入力パラメーターと同じであることを意味します。 SOURCE 節のパラメータリスト内の空の括弧 ( SYSIBM.COUNT_BIG ) は、 Db2 が COUNT_BIG 関数を特定する際に、COUNT_BIG 関数の CHAR パラメータの length 属性が無視されることを意味します。