2013-06-19 30 views

回答

8

http://msdn.microsoft.com/en-us/library/ms176089.aspx來自:

  • 的char [(N)] 固定長度,非Unicode字符串數據。 n定義了字符串長度,並且必須是從1到8,000的值。 存儲大小爲n個字節。字符的ISO同義詞是字符。
  • varchar [(n | max)] 可變長度,非Unicode字符串數據。 n定義字符串的長度,可以是從1到8,000的值。 max表示最大存儲大小爲2^31-1字節(2 GB)。 存儲大小是輸入數據的實際長度+ 2個字節。 varchar的ISO同義詞是char變量或字符變量。

因此,對於varchar,包括max - 存儲將取決於實際數據長度,而char始終是固定大小,即使未使用整個空間也是如此。

2

尤里·加蘭特,已經很好地解釋了。我想補充一點,如果你想有更多相同的信息。 :)

使用CHAR僅用於字符串 其長度您知道是固定的。例如,如果你定義一個域值爲 的值被限制爲'T'和'F',那麼你應該使用CHAR [1]製作 。如果您要存儲美國社會安全號碼,請使用 域名CHAR [9](或如果需要標點符號,請輸入CHAR [11])。

對於長度可能不同的字符串使用VARCHAR,例如名稱,簡短 描述等。如果您不想擔心 會刪除尾隨空白,請使用VARCHAR。除非有很好的理由 不適用,否則請使用VARCHAR。

+0

這絕對不是試圖回答OP的問題.... – AFract

相關問題