2010-06-21 85 views

回答

8

在SQL Server:

  • VARCHAR(x)非Unicode字符串
  • NVARCHAR(x)爲Unicode字符串

對於超長文本(超過4000 Unicode或8000非Unicode字符):

  • VARCHAR(MAX)對於非Unicode字符串
  • NVARCHAR(MAX)爲Unicode字符串

TEXTNTEXT建議不要在SQL Server 2005和應該來了(在NVARCHAR(MAX)使用/ VARCHAR(MAX)也支持所有的字符串函數,這是一個大加)。

簡而言之(少於10個字符)和固定元素(如雙字符狀態縮寫等)使用CHAR(x)/NCHAR(x)而不是VARCHAR。但請注意:這些字段總是用空格填充到定義的長度!

+0

'TEXT'超長字符串?另外'VARCHAR'字段很難搜索 - 儘可能使用'CHAR'是很好的選擇。 – Jake 2010-06-21 17:56:36

+0

@Jake:沒辦法 - SQL Server 2005棄用TEXT/NTEXT - 改用VARCHAR(MAX)/ NVARCHAR(MAX)。 – 2010-06-21 19:03:46

相關問題