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))