sql server數據庫編碼(varchar,nvarchar的區別)

打開sql server創建一個表:

create database testdb

go

create table test.Net/xssh913913/" target=_blank>
(
 name1 varchar(10), 

 name2 nvarchar(10)
)

go

insert into test values('一二三四五','一二三四五六七八九十')     --成功

insert into test values('一二三四五六','一二三四五六七八九十')    --第一個字段插入失敗

insert into test values('一二三四五','一二三四五六七八九十一')    --第二個字段插入失敗

第一個字段對多可以插入漢字5個

第二個字段對多可以插入漢字10個

------------------------------------------------------------------------------------

insert into test values('1234567890','1234567890')    --成功

insert into test values('12345678901','1234567890')     --第一個字段插入失敗

insert into test values('1234567890','12345678901')    --第二個字段插入失敗

(插入字母和一些ascii字符符號,結果一樣)

第一個字段對多可以插入ascii碼10個

第二個字段對多可以插入ascii碼10個

---------------------------------------------------------------------------------------

insert into test values('一二三aaaa','一二三四五六七八九十')    --成功

insert into test values('一二三aaaab','一二三四五六七八九十')   --第一個字段插入失敗

insert into test values('一二三aaaa','一二三四五六七八ab')   --成功

insert into test values('一二三aaaa','一二三四五六七八abc')     --第二個字段插入失敗

--------------------------------------------------------------------------------------

總結:varchar類型 ascii最多可以存10個,漢字最多可以存5個

            nvarchar類型  ascii和漢字最多都可以存10個

說明:varchar類型   ascii字符佔一個字節,漢字佔兩個字節

            nvarchar類型  總是一個字符佔2個字節

而且:

create table test.Net/xssh913913/" target=_blank>
(
 name1 varchar(10),     --所佔空間10個字節

 name2 nvarchar(10)    --所佔空間20個字節
)

驗證:

select  *  from test

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章