その引数の1つで指定された区切り文字によって区切られた、バイトで、または、 " pieces:部分文字列" で、計測されたオクテットのシーケンスの長さを返します。
$ZLENGTH()関数のフォーマット:
$ZL[ENGTH](expr1[,expr2])
最初の式(expr1)は、$ZLENGTH() が "計測" の対象とするオクテットのシーケンスを指定します。
オプションの2番目の式(expr2)は、計測を定義するデリミタを指定します; もしこの引数が欠落している場合は、$ZLENGTH() は、オクテットのシーケンスのバイト数を返します。
もし2番目の引数が与えられて null でない場合、$ZLENGTH() は、最初のバイトシーケンスの2番目の出現回数のカウント以上を返します。もし2番目の引数がnullの場合、$ZLENGTH() に類似したM標準規格は $ZLENGTHがゼロ(0)を返すことを指示します。$ZLENGTH は、2つの方法 -- バイトと部分文字の中でオクテットのシーケンスの長さを決定するツールを提供します。 1つの引数がバイト数を返すにもかかわらず、$ZLENGTH() の2つの引数は、既存の部分文字の数を返します。
例:
GTM>write $zlength("主要雨在西班牙停留在平原")
36
GTM>
これは、$ZLENGTH() を使用して、"主要雨在西班牙停留在平原" のオクテットのシーケンスの長さをバイト単位で書き込みます。
例:
GTM>set x="主"_$zchar(63)_"要"_$zchar(63)_"雨" GTM>write $zlength(x,$zchar(63)) 3 GTM>
これは、$ZCHAR(63)のバイトコードで区切らて、オクテットのシーケンスに部分文字の個数をWRITEする$ZLENGTH() を使用しています。
例:
GTM>set x=$zchar(63)_"主"_$zchar(63)_"要"_$zchar(63)_"雨"_$zchar(63)" GTM>write $zlength(x,$zchar(63)) 5 GTM>
これも、$ZCHAR(63)のバイトコードで区切らて、オクテットのシーケンスに部分文字の個数をWRITEする$ZLENGTH() を使用しています。GT.Mは、両方が区切られているので、文字列の空の開始部分と終了部分の両方をカウントすることに注意してください。