Varchar类型:Varchar 的类型不以空格填满,而Char则会填充满为止,如varchar(100),但它的值只是"abcd",所以它在数据库中存的值就是"abcd",而char 不一样,如char(100),它的值是"abcd",而实际上它在数据库中是"abcd "(abcd后共有96个空格,就是把它填满为100个字节)。
nvarchar数据类型
nvarchar数据类型是可变长度的Unicode数据。
nvarchar在SQL Server中是采用Unico来存储数据的,中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码)。
正常情况下,我们使用varchar也可以存储中文字符,但是如果遇到操作系统是英文操作系统并且对中文字体的支持不全面时,在SQL Server存储中文字符为varchar就会出现乱码(显示为??),唯一能解决问题的是把数据库字段的类型改为nvarchar或 者nchar。
使用nvarchar的另一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.当然,使用nvarchar存储英文字符会增大一倍的存储空间,但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的。
这四种数据类型名字上看nchar\nvarchar比char\varchar前面多了个“n”。它表示存储的是Unicode数据类型的字符。英文字符只需要一个字节存储就足够了,但汉字需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
前半生和后半生分别是多少年?苹果为什么手机下不了软件怎么办