1. 程式人生 > >SQL Server 2008 資料型別-varchar(MAX)、nvarchar(MAX) 到底有多大?

SQL Server 2008 資料型別-varchar(MAX)、nvarchar(MAX) 到底有多大?

在 SQL Server 2000 中,varchar(8000)、nvarchar(8000) 就是極限了,在 SQL Server 2005、SQL Server 2008 中,增加了 varchar(MAX)、nvarchar(MAX) 資料型別。這裡 MAX 代表多大呢?

varchar(max)、nvarchar(max) 和 varbinary(max) 統稱為大值資料型別。您可以使用大值資料型別來儲存最大為 2^31-1 個位元組的資料。

大值資料型別具有 text、ntext、image 這樣大容量儲存能力

可通過 sp_tableoption 將這些大容量的資料直接儲存在行內(超過 8000 位元組時,仍然是隻在行記憶體儲指標),還是隻在行記憶體儲指標。

大值資料型別又具有 varchar(n)、nvarchar(n)、varbinary(n) 這樣的應用方便的特性

  • 可以使用遊標;
  • 可以使用 .WRITE() 對大值資料進行部分更新;
  • 支援觸發器;
  • 可以使用像 LEN、SUBSTRING 等字串函式。

所以微軟建議:使用 varchar(max) 來代替 text,使用 nvarchar(max) 來代替 ntext,使用 varbinary(max) 來代替 image。

轉自:http://blog.csdn.net/liudayu_hikvision/article/details/6109666