nvarchar與varchar的區別

2021-05-22 15:09:09 字數 1633 閱讀 1537

一直以來對varchar和nvarchar不怎麼了解,也聽經理說過,他讓我盡量用varchar,我說為什麼啊,他說了一下,我不是太明白,哈哈!還是自己來找找吧!重網上找了別人的解釋,感覺有點頓悟!!

1.

varchar[(n)]   

長度為      n      個位元組的可變長度且非      unicode      的字元資料。n      必須是乙個介於      1      和      8,000      之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是      n      個位元組。所輸入的資料字元長度可以為零。varchar      在      sql-92      中的同義詞為      char      varying      或      character      varying。   

nvarchar(n)   

包含      n      個字元的可變長度      unicode      字元資料。n      的值必須介於      1      與      4,000      之間。位元組的儲存大小是所輸入字元個數的兩倍。所輸入的資料字元長度可以為零。nvarchar      在      sql-92      中的同義詞為      national      char      varying      和      national      character      varying。   

n 表示字元個數

nvarchar:   

不管是乙個字元還是乙個漢字,都存為2個位元組   

varchar:   

漢字是2個位元組,其他字元存為1個位元組   

通俗一點就是varchar適合輸入英文和數字,nvarchar一般用做中文或其它語言的輸入,這樣到別的語系不會出現亂碼:))

2.

n表示unicode常量,可以解決多語言字符集之間的轉換問題,見聯機幫助

姓名,和房間通常都是用varchar這個資料型別  

解釋一下:  

drop   proc   a  

varchar(n):變長型字元資料型別,儲存最長長度為8,000   個字元。  

舉個例子:  

create   table   a   (name1   varchar(8))  

insert   a   select   '張紅a'      

---   儲存長度為5個位元組,餘下的3個位元組全部釋放  

insert   a   select   '王一南'  

----儲存長度為6個位元組,餘下的2個位元組全部釋放  

---意思是varchar變長字元資料型別與儲存資料的實際長度是一致的  

nvarchar(n):可變長度   unicode   資料,其最大長度為   4,000   字元。  

位元組的儲存大小是所輸入字元個數的兩倍,  

就是說它是雙位元組來儲存資料的。  

如果儲存資料如果存在單位元組時,它也是以雙位元組來占用儲存空間的。  

舉個例子:  

create   table   aa   (name1   nvarchar(8))  

insert   aa   select   '張紅a'      

nvarchar與varchar的區別

varchar n 長度為 n 個位元組的可變長度且非 unicode 的字元資料。n 必須是乙個介於 1 和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。varchar 在 sql 92 中的同義詞為 char varying ...

nvarchar與varchar的區別

varchar n 長度為 n 個位元組的可變長度且非 unicode 的字元資料。n 必須是乙個介於 1 和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。varchar 在 sql 92 中的同義詞為 char varying ...

SQL中varchar 與 nvarchar的區別

varchar n 長度為 n 個位元組的可變長度且非 unicode 的字元資料。n 必須是乙個介於 1 和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。nvarchar n 包含 n 個字元的可變長度 unicode 字元資料。n 的值必須介於 1 與 4...