最近のアクセス:
VarChar データタイプ

長さの異なるテキストの値を格納します。ただし、Character とは異なり、データベースに必要な容量が最適化されます。

構文

VarChar(M, N)

入力値の説明:
M
使用する DBMS によって事前に決定される最大の長さを指定します。項目属性に割り当てられた長さが DBMS が実際に対応している長さよりも長い場合、DBMS の最大値を使用します。

N
平均の長さです。これは、一部の DBMS (特に iSeries) でディスクへのアクセスを最適化する場合に使用します。つまり、VarChar の項目属性の値の長さが N 以下の場合は、N 個の文字 (不足分は空白で埋められます) がファイルのレコードに格納されるので、ディスクに 1 回アクセスするだけで、値を読み取ったり格納したりできます。一方、VarChar の項目属性の値の長さが N より大きい場合は、最初の N 文字がファイルのレコードに格納され、残りはオーバーフロー領域に配置されます。したがって、完全な値を読み取るには、この領域にもアクセスする必要があります。

定義

次の表に、このデータタイプの定義に使用するプロパティを示します:
[ Maximum length ] プロパティ
[ Average length ] プロパティ
[ Enable national language support ] プロパティ
[ Value range ] プロパティ
[ Initial value ] プロパティ
[ Picture ] プロパティグループ

説明

この 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 データタイプ
データ タイプ リスト





サブページ
Created: 14/09/18 03:19 by Admin Last update: 21/05/20 06:20 by Admin
カテゴリ
Powered by GXwiki 3.0