主な違い: SQL Serverのようなデータベースシステムでは、CharとVarcharはどちらもデータ型で、charは実際には文字を表し、Varcharは可変文字を表します。 どちらも最大8000文字の文字列型の値を格納するために使用されます。 charの格納サイズは宣言されたものと同じですが、Varcharのステージ6eは入力された実際のデータのバイト数によって異なります。
例を見てみましょう - Charデータがある方法で宣言されている場合:test Char(20)とtest = "testing"を宣言すると、テストは最初の7バイトを占め、残りは空白データで埋められます。 一方、Varcharデータが次のように宣言されているとします。test varchar(20)を宣言し、test = "testing"とすると、7 + 2バイトしか占有しません。
変数の長さが分かっている場合はCharを使用し、Varcharは長さが不明な場合にのみ使用してください。 Varcharシステムは文字列の終わりを見つけるための時間を検出するためにいくらかの時間を費やすので、CharはVarcharより速いです。 一方、今回はCharで無駄にしていません。
CharとVarcharの比較
チャー | Varchar | |
完全形 | キャラクター | 可変文字(可変長の文字に対して) |
意味 | 固定長の非Unicode文字列データを格納するために使用されます | 可変長の非Unicode文字列データを格納するために使用されます |
ストレージに使用されたバイト数 | 1文字あたり1バイト | 1文字あたり1バイト、長さ情報を保持するための追加の1または2バイト |
応用 | 電話番号などのデータを保存するために使用されます(データ入力は一貫しています)。 | Addressなどのデータを格納するために使用されます(データ入力は大きく異なります) |
条件:入力文字列が宣言されたバイトより小さい | 文字のないスペースはスペース文字で埋められます | 文字を含まないスペースは、どの文字でも埋められません。 |
条件:入力文字列が宣言されたバイト数を超えている | 文字列は宣言されたバイト数に切り捨てられます | 文字列は宣言されたバイト数に切り捨てられます。 |