COUNT_BIG

COUNT_BIG 関数は、行または値の集合の中にある行の数または値の数を戻します。 この関数は COUNT 関数に類似していますが、COUNT 関数とは異なり、結果の 値は整数の最大値より大きい値をとることができます。

構文図を読む構文図をスキップする
                   .-ALL------.                    
>>-COUNT_BIG--(--+-+----------+--expression-+--)---------------><
                 | '-DISTINCT-'             |      
                 '-*------------------------'      

expression
引数の値には、データ・リンクを除く任意の組み込みデータ・タイプを指定できます。 XML は、COUNT_BIG(DISTINCT expression) で使用できません。

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

COUNT_BIG(*) の引数は、行の集合です。この結果は、その集合の行の数になります。 この行の数には、NULL 値しか入っていない行も含まれます。

COUNT_BIG(expression) の引数は、値の集合です。 この関数は、引数の値から NULL 値を除いた値の集合に適用されます。 結果はその集合の値の個数です。

COUNT_BIG(DISTINCT expression) を含むステートメントの実行時に *HEX 以外の照合順序が有効で、 しかも引数が SBCS データ、混合データ、または Unicode データの場合、 結果は、集合の各値の重み付けされた値の比較によって求められます。 値の重み付けは、該当の照合順序に基づいています。

  • COUNT の例を参照して、COUNT を COUNT_BIG と読み替えてください。 結果のデータ・タイプを除いて、結果は同じです。
  • 特定の列上でカウントするためには、ソース化関数は列のタイプを指定しなければなりません。 この例では、CREATE FUNCTION ステートメントが、CHAR として定義された任意の列を取るソース化関数を作成し、COUNT_BIG を使用してカウントを実行し、その結果を倍精度の浮動小数点数として戻します。以下の照会は、サンプルの従業員表内で固有の部門数をカウントします。
         CREATE FUNCTION RICK.COUNT(CHAR(19)) RETURNS DOUBLE
           SOURCE QSYS2.COUNT_BIG(CHAR());
    
         SET CURRENT PATH RICK, SYSTEM PATH 
    
         SELECT COUNT(DISTINCT WORKDEPT) FROM EMPLOYEE;