1.1.3 String
Stringは可変長の文字フィールドで、最大長が1桁から65,535桁までのフィールドです(この数字はバイト数であり文字数ではありません)。
Stringは、英数字データ(SBCS、SBCSとDBCSの混合、またDBCSのみのいずれか)を保管します。Stringは文字列に分類されます。サポートは、現在のネイティブ・コードページのみです。
Stringは後続のブランクがあれば、それを意味あるものとして扱います。Stringの末尾にスペースを連結する場合、そのスペースは保持されます。ただし比較では、スペースは意味あるものとして扱われません。
一般的な事柄については、「フィールド・タイプについて」を参照してください。
フィールド定義の規則
Stringフィールドをリポジトリに定義するときの規則は以下のとおりです。
長さ |
String は、1から65,535桁の長さにすることができます。Stringには小数部はありません。 |
有効なキーボード・シフト |
ブランク、O、E、J、またはW |
許容される属性 |
AB、 ASQN、CS、DDNN、FE、FUNC、FUNU、FUNX、JNMC、JNMU、JNMX、JNRC、JNRU、JNRX、LC、ND、PROC、 PROU、PROX、RA、RB、RL、RLTB、SREV、SUNI、USRC、USRU、USRX |
編集オプション |
不可 |
デフォルト |
*NULL |
使用規則
区画タイプ |
|
ファイル |
String はRDMLXファイルでのみ使用することができます。Stringは実フィールドまたはキー・フィールドとして使用することができます。キーとして使用する場合、長さは4,000バイトを超えてはいけません。 |
論理ビュー |
String はキー・フィールドとして使用することができます。キーとして使用する場合、長さは4,000バイトより少なくする必要があります。 |
仮想フィールド |
String は、コード・フラグメントによる仮想フィールドで使用することができます。 |
事前結合フィールド |
String は検索事前結合フィールドに使用することができます。 |
RDML コマンド |
DEF_HEAD、 DEF_FOOT、DEF_BREAK、およびDEF_LINEは、RDMLフィールドのみ、印刷をサポートします。そのため、レポートに使用するには、StringフィールドをAlpha へ変換する必要があります。 |
組み込み関数 |
String を組み込み関数で使用する場合、有効な引数のタイプは「A」です。 |
特殊値 |
*NULL、 *NAVAIL、*REMEMBERED_VALUE |
変換 |
「フィールド・タイプ変換」を参照してください。 |
使用に関する注意事項
· 作業フィールドはTYPE(*STRING)として定義することができます。
· StringまたはCharタイプで長さが256桁以下のフィールドは、Alphaタイプのフィールドが使用できる場所であれば概ねどこでも使用できます。
· 長さ0の文字列には、SQL経由でのデータベースへの挿入、または更新前に、1個のスペースが追加されます。これは、データベース間で一貫した動作を得るための処理です。スペースがないと、OracleはデータをSQL Nullとして扱いますが、厳密にはSQL Nullではありません。また、これは他のデータベースの動作とは異なります。
そのため、アプリケーションでは、空のStringと1個のブランクが含まれるStringを区別できないことに注意してください。また、長さ0のStringをデータベースへの挿入前に連結した場合と読み取り後に連結した場合とでは、追加スペース分だけ異なる場合があります。式内でStringを使用する前に末尾スペースを切り捨てることで、動作を一貫させることができます。RDML内の空のStringと、データベースから読み取った1個のスペースが含まれるStringを比較した場合、比較において末尾スペースは意味を持たないため、等しいものと判断されます。末尾スペースが意味を持つのは、連結などの式内のみです。
プラットフォームについて
· プラットフォーム別の考慮事項については、「フィールド・タイプについて」を参照してください。
さらに、次のトピックも参照してください。