例如把下面数据插入数据中,中文会显示乱码:
use testsql;
if exists(select * from sysobjects where id=object_id('test')) drop table test
create table test(
num int,
name varchar(6),
addr char(6),
age int,
primary key(num));
go
insert into test(num,name,addr,age) values(1,'小李','福州',23)
go
insert into test(num,name,addr,age) values(2,'小张','泉州',19)
go
insert into test(num,name,addr,age) values(3,'晓雪','福州',22)
go
insert into test(num,name,addr,age) values(4,'王梅','贵州',20)
go
insert into test(num,name,addr,age) values(5,'张三','厦门',25)
go
insert into test(num,name,addr,age) values(6,'谢雨','福清',24)
go
select * from test;
显示
如何显示出中文?
一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
只要把char和varchar前都加上n,中文前都加上n就好了,之家一个都不行.
修改后的代码:
use testsql;
if exists(select * from sysobjects where id=object_id('test')) drop table test
create table test(
num int,
name nvarchar(6),
addr nchar(6),
age int,
primary key(num));
go
insert into test(num,name,addr,age) values(1,N'小李',N'福州',23)
go
insert into test(num,name,addr,age) values(2,N'小张',N'泉州',19)
go
insert into test(num,name,addr,age) values(3,N'晓雪',N'福州',22)
go
insert into test(num,name,addr,age) values(4,N'王梅',N'贵州',20)
go
insert into test(num,name,addr,age) values(5,N'张三',N'厦门',25)
go
insert into test(num,name,addr,age) values(6,N'谢雨',N'福清',24)
go
select * from test;