char、varchar、nchar、nvarchar四种类型

char,nchar是定长,如果没达到指定的长度时将自动以英文空格在其后面填充。优势在于速度较高。
varchar,nvarchar属于变长,如果没有达到指定的长度时,不会将自动以英文空格在其后面填充。优势在于占容量较小。
数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众多非英文字符,则需要两个字节存储。如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字符串是乱码。
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示。
所以char,nchar 的区别是,前者用ansi字符,后者用Unicode字符。
一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
括号里的数字表示字节,nchar(10),就是Unicode字符占用10个字节,那么无论存英文还是汉字,只能存5个。

posted @ 2019-11-15 12:33  Boogiever  阅读(1249)  评论(0编辑  收藏  举报