開始什麼都別說,先來個例子
開啟sql server建立一個表:
create database testdb
go
create table test
(
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
(
name1 varchar(10), --所佔空間10個位元組
name2 nvarchar(10) --所佔空間20個位元組
)
驗證:
select * from test
select name1,len(name1),name2,len(name2) from test