2016-11-29 6 views
0

私は現在大きな会社のために開発しています。彼らはいくつかのガイドラインに従ってプロジェクトのデータベースを作成するように頼んでいますが、charとvarcharに関する小さな質問があります。VarcharとcharのSQLサーバー

は、私はどちらか8または11文字することができ、文字列を持っていると私は最善の解決策である知っていると思います:

myColumn varchar(11) またはmyColumn char(11)

は、最初に私が二番目の考えていました、charは固定長ではありませんか?

お返事ありがとうございます。

+0

http://www.c-sharpcorner.com/uploadfile/cda5ba/difference-between-char-nchar-varchar-and-nvarchar-data-ty/これはあなたに何を使うべきかのアイデアを与えるはずです。 – Vikram

+0

この詳細な解説を参照してください。 http://jp.plack.net/ja/59686/6211175 –

+0

火の代わりに@PareshJ、まともな答えを出そうとする。 –

答えて

0

char(11)は11文字までの長さの文字列を保持できますが、2文字しかない場合でも11文字全体にスペースが必要です(残りはスペースで埋められます)。同じ長さの文字列を保持が、スペースを確保しません。

What is the major difference between Varchar2 and char

0

CHARデータ型は固定長データ型である。たとえば、CHAR(11)データ型の列を宣言した場合、それをこの列に1文字または11文字を格納するかどうかにかかわらず、常に11バイトを使用します。

VARCHARは可変長のデータ型です。たとえば、VARCHAR(11)データ型の列を宣言すると、この列に格納されている文字数に等しいバイト数が使用されます。したがって、この変数/カラムでは、1文字しか格納していない場合は1バイトしか取らず、11文字を格納している場合は11バイトとなります。この例では、VARCHAR(11)として列を宣言しているので、この列に最大11文字を格納できます。 、メモリの割り当てが動的であるため

https://msdn.microsoft.com/en-in/library/ms176089.aspx

0

VARCHAR(11)がより好ましい(例えば、と仮定文字列の長さは、すべてのためにちょうど8文字ではないため、メモリ割り当て8)。 char(11)メモリの場合はすべてのセルに割り当てられます。

関連する問題