1.1.4 Nvarchar
Nvarcharは可変長の文字フィールドで、最大長が1桁から65,535桁までのフィールドです。(これは文字の数です。バイト長ではありません。)
Nvarcharsフィールドは、あらゆるコードページのAlphaデータを格納します。例えばリストの場合、Nvarcharフィールドには1行目に日本語、別の行にフランス語が入ります。
Nvarcharの分類はUnicode文字列になります。
Nvarcharは後続のブランクがあれば、それを意味あるものとして扱います。Nvarcharの末尾にスペースを連結する場合、そのスペースは保持されます。ただし比較では、スペースは意味あるものとして扱われません。
一般的な事柄については、「フィールド・タイプについて」を参照してください。
フィールド定義の規則
Nvarcharフィールドをリポジトリに定義するときの規則は以下のとおりです。
長さ |
Nvarcharは、1から65,535桁の長さにすることができます。Nvarcharには小数部はありません。 |
有効なキーボード・シフト |
ブランク |
許容される属性 |
AB、ASQN、CS、FE、LC、ND、RA、RB、RL、RLTB、SREV |
編集オプション |
Nvarcharは検索事前結合フィールドに使用することができます。 |
デフォルト |
*NULL |
使用規則
区画タイプ |
|
ファイル |
NvarcharはRDMLXファイルでのみ使用することができます。Nvarcharは実フィールドまたはキー・フィールドとして使用することができます。キーとして使用する場合、長さは2,000文字を超えてはいけません。 |
論理ビュー |
Nvarcharはキー・フィールドとして使用することができます。キーとして使用する場合、長さは2,000文字より少なくする必要があります。 |
仮想フィールド |
Nvarcharはコード・フラングメント仮想フィールドと共に使用できます。 |
事前結合フィールド |
適用不可 |
RDMLコマンド |
DEF_FOOT、DEF_BREAK、およびDEF_LINEのみRDMLフィールドの印刷がサポートされます。ですから、レポートで使用するには、NvarcharをAlphaに変換する必要があります。 |
組み込み関数 |
Nvarcharを組み込み関数で使用する場合、有効な引数のタイプは「A」です。 |
特殊値 |
*NULL、*NAVAIL |
変換 |
「フィールド・タイプ変換」を参照してください。 |
使用に関する注意事項
· 作業フィールドはTYPE(*NVARCHAR)として定義することができます。
· 長さ0のNvarcharには、SQL経由でのデータベースへの挿入または更新前にスペースが1個追加されます。これは、データベース間で一貫した動作を得るための処理です。スペースがないと、OracleはデータをSQL Nullとして扱いますが、厳密にはSQL Nullではありません。また、これは他のデータベースの動作とは異なります。
アプリケーションでは、空のNvarcharと1個のブランクが含まれるNvarcharを区別できないことに注意してください。また、長さ0のNvarcharをデータベースへの挿入前に連結した場合と読み取り後に連結した場合とでは、追加スペース分だけ異なります。この矛盾をなくすには、式でNvarcharを使用する前に末尾スペースを切り捨てることです。RDML内の空のNvarcharと、データベースから読み取った1個のスペースが含まれるNvarcharを比較する場合、比較において末尾スペースは意味を持たないため、等しいものと判断されます。末尾スペースが意味を持つのは、連結などの式内のみです。
プラットフォームについて
- プラットフォーム別の考慮事項については、「フィールド・タイプについて」を参照してください。
ヒントとテクニック
- 実行時に複数言語サポートが不必要な場合は、AlphaフィールドもしくはStringフィールドを使用してください。
さらに、次のトピックも参照してください。