Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
VARCHAR データ型は、32767 バイトまでの文字データを格納します。
VARCHAR [ ( max-length [ CHAR | CHARACTER ] ) ]
max-length 文字列の最大長。バイト長のセマンティックを使用する場合 (長さの部分に CHAR または CHARACTER を指定しない場合)、長さはバイト単位になります。また、範囲は 1 ~ 32767 にします。指定しない場合の長さは 1 です。
文字長のセマンティックを使用する場合 (長さの部分に CHAR または CHARACTER を指定する場合)、長さは文字単位になります。また、max-length を指定します。max-length は最大 32767 文字です。
マルチバイト文字は VARCHAR として格納できますが、宣言される長さは文字数ではなくバイト数です。
VARCHAR は CHAR VARYING または CHARACTER VARYING と指定することもできます。どの構文を使用する場合でも、データ型は VARCHAR と記述されます。
VARCHAR カラムがどのように記述されるかは、クライアントインターフェイス、使用される文字セット、および文字長セマンティックが使用されるかどうかによって異なります。たとえば、Embedded SQL では、記述される長さはクライアント文字セットの最大バイト数となります。記述される長さが 32767 バイトを超える場合、カラムは DT_LONGVARCHAR 型として記述されます。次の表は、Embedded SQL の例と、DESCRIBE を実行した場合に返される結果を示します。
ODBC の場合、VARCHAR は SQL_VARCHAR として記述されます。
SQL/2008 SQL/2008 と互換性があります。SQL/2008 標準では、文字長セマンティックがデフォルトですが、SQL Anywhere ではバイト長セマンティックがデフォルトです。大文字と小文字を区別しない照合のサポートと SQL Anywhere のブランク埋め込みに対するサポートのために、SQL 標準との間に、一部不整合があります。
SQL/2008 標準では、SQL 言語機能 T061 として、明示的な文字長またはバイト長のセマンティックがサポートされています。