| VarChar データタイプ | |
長さの異なるテキストの値を格納します。ただし、Character とは異なり、データベースに必要な容量が最適化されます。
VarChar(M, N)
入力値の説明:
M
使用する DBMS によって事前に決定される最大の長さを指定します。項目属性に割り当てられた長さが DBMS が実際に対応している長さよりも長い場合、DBMS の最大値を使用します。
N
平均の長さです。これは、一部の DBMS (特に iSeries) でディスクへのアクセスを最適化する場合に使用します。つまり、VarChar の項目属性の値の長さが N 以下の場合は、N 個の文字 (不足分は空白で埋められます) がファイルのレコードに格納されるので、ディスクに 1 回アクセスするだけで、値を読み取ったり格納したりできます。一方、VarChar の項目属性の値の長さが N より大きい場合は、最初の N 文字がファイルのレコードに格納され、残りはオーバーフロー領域に配置されます。したがって、完全な値を読み取るには、この領域にもアクセスする必要があります。
次の表に、このデータタイプの定義に使用するプロパティを示します:
この Character データタイプには、すべての関数と演算子を適用できます。
VarChar データタイプは、データベースへの格納方法以外は Character データタイプと同じです。
このデータタイプをサポートしていない DBMS では、Character タイプになります。
次の表に、各 DBMS で許容可能な最大長を示します。最後の列は、GeneXus による変換後のタイプを示します:
DBMS |
最大長 (M) |
平均長 (N) |
変換 |
ORACLE |
4000 |
不使用 |
VarChar(M) または VarChar2(M) 3 |
DB2 Universal Database |
4000 |
不使用 |
VarChar(M) |
Informix |
32000 1 |
0 から最大長まで |
VarChar(M,N) |
SQL Server |
8000 |
不使用 |
VarChar(M) |
DB2 UDB for iSeries / iSeries Native |
320006 |
0 から最大長まで |
VarChar(M,N) |
Visual FoxPro |
254 2 |
不使用 |
Character(M) |
PostgreSQL |
|
不使用 |
VarChar(M) |
MySQL |
255 4
21000 5
|
|
|
1 GeneXus で列が VarChar(x) として定義されている場合、x >= 255 (インデックスの一部である場合は 254) であれば、データベースのフィールドは lvarchar として定義されます。また、この場合、平均長は無視され、ます。
2 この DBMS は長さの異なる文字列に対応していません (Long VarChar 以外)。文字列は固定の長さで実装します。つまり、「最大長」の長さの文字列を生成します。
3 VarChar または VarChar2。データストア (Oracle) の [ Declare Varchar as Varchar 2 ] プロパティによって異なります。
4 MySQL 5.0.3 よりも前の場合。
5 MySQL 5.0.3 以降の場合。
6 [ Enable national language support ] プロパティが Yes である場合は 16000。
このデータタイプの項目属性と変数は、ナビゲーションレポートと選択画面に V (例: V(40)) として表示されます。このデータタイプはフォームおよび printblock で自動リサイズ機能を使用しますが、255 文字を超えるものは表示できません。
DateTime データタイプ
LongVarChar データタイプ
データ タイプ リスト
|
|
|
|
|