sqlnvarchar長度
① sql中varchar和nvarchar有什麼區別
SQL中varchar和nvarchar區別:輸入不同,含義不同。
一、輸入不同:
varchar(4)可以輸入4個字線,也可以輸入兩個漢字。
nvarchar(4)可以輸四個漢字,也可以輸4個字母,但最多四個。
二、含義不同:
varchar(n)長度為n個位元組的可變長度且非Unicode的字元數據。n必須是一個介於1和8,000之間的數值。存儲大小為輸入數據的位元組的實際長度,而不是n個位元組。
nvarchar(n)包含n個字元的可變長度Unicode字元數據。n的值必須介於1與4,000之間。位元組的存儲大小是所輸入字元個數的兩倍。
字元數據類型
Varchar是變長字元數據,其長度不超過8KB。Char是定長字元數據,其長度最多為8KB。超過8KB的ASCII數據可以使用Text數據類型存儲。例如,因為Html文檔全部都是ASCII字元,並且在一般情況下長度超過8KB,所以這些文檔可以Text數據類型存儲在SQLServer中。
在SQLServer中,Unicode數據以Nchar、Nvarchar和Ntext數據類型存儲。使用這種字元類型存儲的列可以存儲多個字元集中的字元。當列的長度變化時,應該使用Nvarchar字元類型,這時最多可以存儲4000個字元。
以上內容參考:網路-SQL數據類型
② SQL server中的nvarchar最大的長度是4000個字嗎
1、在SQL2000版本中,最大長度是4000。
2、在SQL2005及以上版本中,最大長度是2G,本人實測,SQL2008中,將測試資料庫中一個欄位定義為nvarchar(max),然後使用以下SQL語句。
UPDATEA13SET[科室]=[科室]+[科室]--科室欄位定義為nvarchar(max)
SELECTLEN([科室])FROMA13
--運行結果
--長度
--83886080
連繼N次重復運行後科室欄位的長度已達嚇人的84M,到底多大,有興趣可以自個試試,不過,越大執行速度會越慢哦。
3、注意,在某些情況下,前台應用對過長的字串是無法正確處理的,比如一些表格控制,比如C++定義的字元串變數。