LENGTH スカラー関数

LENGTH 関数は、値の長さを戻します。

構文図を参照するビジュアルシンタックスダイアグラムをスキップするLENGTH( 式)

スキーマは SYSIBM です。

この引数は、XML 以外のいずれかの組み込みデータ・タイプの値を戻す式であることが必要です。

この関数の結果は長精度整数 (large integer) です。

結果はnullになる可能性があります。引数がnullの場合、結果もnull値になります。

結果は引数の長さです。 この長さには、NULL 値を使用することができる列引数の NULL 標識バイトは含まれません。 ストリングの長さにはブランクが含まれます。 可変長ストリングの長さは実際の長さであって、最長ではありません。

グラフィック・ストリングの長さは 2 バイト文字の数です。 Unicode UTF-16 データはグラフィック・データとして扱われます。UTF-16 補足文字は 2 つの DBCS 文字を使用して表現されるので、2 つの DBCS 文字として数えられます。

それ以外のすべての値の場合の長さは、 その値を表すために使用されるバイトの数になります。

  • 短精度整数の場合は 2
  • 長精度整数の場合は 4
  • 64 ビット整数の場合は 8
  • (p/2)+1 の整数部分 (精度 p の 10 進数の場合)
  • DECFLOAT(34) の場合は 16
  • DECFLOAT(16) の場合は 8
  • 単精度浮動小数点数の場合は 4
  • 倍精度浮動小数点数の場合は 8
  • ストリングの場合はストリング長
  • DATE の場合は 4
  • TIME の場合は 3
  • TIMESTAMP の場合は 10
  • TIMESTAMP WITH TIME ZONE の場合は 12
  • TIMESTAMP(p)の場合は 7+((p+1)/2)
  • TIMESTAMP(p) WITH TIME ZONE の場合は 9+((p+1)/2)
  • 行 ID の長さ
例 1: FIRSTNME という VARCHAR(12) 列に、 従業員 280 については「ETHEL」が入っているものとします。 次の照会は、値 5 を戻します。
   SELECT LENGTH(FIRSTNME)
     FROM DSN8C10.EMP
     WHERE EMPNO = '000280';
例 2: HIREDATE は データ・タイプが DATE の列であるものとします。 この場合、値に関係なく、次のステートメントは値 4 を戻します。
   LENGTH(HIREDATE)
また、次の関数は、値 10 を戻します。
   LENGTH(CHAR(HIREDATE, EUR))