数据类型中 char,nchar,nvarchar,varchar 的区别

来源:互联网 发布:剑网3军娘捏脸数据 编辑:程序博客网 时间:2024/06/10 07:20

       1.两个字符型字段分别定义为char(10)varchar(10),当给它们存入“123”这个数据时,char(10)字段占用十个字节的存储空间,而varchar(10)只占用3个字节存储空间,这就是charvarchar的区别。可以看出varchar比较适合存储长度变化很大的数据。 
       2.nchar
charnvarcharvarchar的区别在于是否使用Unicode进行编码。一般情况下在仅仅处理中文及英文,不涉及特殊符号时不需要使用Unicode。另一种需要用Unicode的情况是需要将字符串数据添加到SQL语句中执行,又不想里面的东西如单引号使SQL产生误解,可以将其用Unicode编码,这时每个字符都将占用两个字节,单引号也不会被SQL识别了。 

简单的说: 
char
nchar是定长字符串类型,varcharnvarchar是变长字符串类型。也就是说如果字段类型为char(10),那么即使你输入的字符为'abc',在数据库中也会保存成' abc',字段前面会被自动补上7个空格。而使用varchar(10)则前面不会补空格。 
至于前面那个n有什么不同,有n代表支持unicode字符,而没有n的则不支持,textntext的区别也是一样。 
text
charvarchar的区别在于,charvarchar字段的数据是保存在表中,而text字段可以保存大容量的文本,数据是保存在另外的空间里,当然在表面上看来并没有什么区别。

0 0
原创粉丝点击