LENGTH 関数をさまざまなコンテキスト (テーブルおよび数値データを含む) で使用して、項目の長さを判別することができます。 例えば、LENGTH 関数を使用して、英数字または国別リテラルの長さ、あるいは DBCS 以外の不特定タイプのデータ項目の長さを判別できます。
LENGTH 関数は、国別項目 (リテラル、あるいは USAGE NATIONAL を持つ任意の項目 (国別グループ項目を含む)) の長さを、引数の長さ (国別文字位置の数) に等しい整数として戻します。 これは、他の任意のデータ項目の長さを、引数の長さ (英数字位置の数) に等しい整数として戻します。
次の COBOL ステートメントは、データ項目を、顧客名を入れるレコードのフィールドに移動する例を示しています。
Move Customer-name To Customer-record(1:Function Length(Customer-name))
LENGTH OF 特殊レジスターを使用することもできます。この特殊レジスターは国別データの場合でも、長さをバイト単位で戻します。 Function Length(Customer-name) または LENGTH OF Customer-name のどちらをコーディングしても、英数字項目の場合は同じ結果 (Customer-name のバイト単位の長さ) が戻されます。
LENGTH 関数は、算術式が許可される場所でしか使用できません。しかし、LENGTH OF 特殊レジスターはさまざまなコンテキストで使用することができます。例えば、整数引数が認められる組み込み関数への引数として LENGTH OF 特殊レジスターを使用することができます。(組み込み関数を LENGTH OF 特殊レジスターに対するオペランドとして使用することはできません。) LENGTH OF 特殊レジスターは、CALL ステートメントのパラメーターとして使用することもできます。
関連タスク
算術の実行
可変長テーブルの作成 (DEPENDING ON)
組み込み関数を使用したテーブル項目の処理
関連参照
LENGTH
(「COBOL for Windows 言語解説書」)
LENGTH OF
(「COBOL for Windows 言語解説書」)