プリミティブ型 STRING は、2 バイトの UNICODE 文字で構成されます。
このフィールドの値はファイルやデータベースに保管できます。コードが DB2® UDB と対話する場合は、GRAPHIC データのコード・ページが UNICODE であり、このデータ項目値が保管される列が SQL データ型の GRAPHIC または VARGRAPHIC でなければなりません。
Unicode の詳細については、Unicode Consortium の Web サイト (www.unicode.org) を参照してください。
次の構文は limited-length string を宣言します。このストリングは指定された文字数に制限されます。
varName STRING(lengthLimit);
- varName
- 変数名。妥当性について詳しくは、『命名規則』を参照してください。
- lengthLimit
- 文字数を表す整数。値は 0 より大きい値です。
limited-length string を、修飾子が OUT または INOUT である関数仮パラメーターとして指定する場合、長さの制限は引数およびパラメーターと同じである必要があります。
limited-length string を、修飾子が IN である関数仮パラメーターとして指定する場合、すべてのテキスト入力が有効です。次の文は、limited-length string に値を割り当てる場合と同様、後者に適用されます。
- ターゲット中よりもソース中の文字が多い場合、EGL ランタイムはコピーされたコンテンツを切り捨てて使用可能な長さに合うようにします。
- ターゲット中よりもソース中の文字が少ない場合は、EGL ランタイムはコピーされたコンテンツに空白を埋め込んで指定された長さにします。
次の文が比較に適用されます。
- STRING 型 (ただし、長さが制限されていない) フィールド中の末尾ブランクが、比較中に考慮される。
- limited-length string 中の末尾ブランクは、比較中に無視される。
比較の前に、別のオペランド (制限された長さよりも短いフィールドの場合) には空白または 2 進ゼロが、limited-length 型フィールドで宣言された文字数まで埋め込まれます。
limited-length string を別の文字列と連結させる場合、limited-length string の負担分はビルド記述子オプション itemsNullable の値によって異なります。
このオプションの値が YES の場合は、limited-length string はストリングの宣言で指定された最後の位置まで空白で埋められます。
その他の場合、埋め込みは起こりません。
比較の詳細については、『論理式』を参照してください。また、『サブストリング』も参照してください。