中易网

数据库:char和varchar数据类型有哪些区别?

答案:2  悬赏:80  
解决时间 2021-01-20 21:29
数据库:char和varchar数据类型有哪些区别?
最佳答案
对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。
1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar
          所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。

2.n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar
        字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。

3.基于以上两点来看看字段容量

char,varchar   最多8000个英文,4000个汉字  
nchar,nvarchar   可存储4000个字符,无论英文还是汉字  


4.使用(个人偏好)
          a.如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char  
          b.能确定长度又不一定是ansi字符或者,那么用nchar;
          c.对于超大数据,如文章内容,使用nText
          d.其他的通用nvarchar
全部回答
对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。 1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar            所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。 2.n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar          字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。 3.基于以上两点来看看字段容量 char,varchar   最多8000个英文,4000个汉字   nchar,nvarchar   可存储4000个字符,无论英文还是汉字   4.使用(个人偏好)            a.如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char              b.能确定长度又不一定是ansi字符或者,那么用nchar;            c.对于超大数据,如文章内容,使用nText            d.其他的通用nvarchar
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么在网上卖好安溪铁观音茶叶?
秀easylife地址有知道的么?有点事想过去
我喜欢女生,我想克制自己的情感
深圳曙之光学习PCB评价怎么样呢?学员学的都
新安县洛阳韵达快递在什么地方啊,我要过去处
把下列各题,改写成除数是整数的除法5.6÷0.35
阳光包店地址有知道的么?有点事想过去
前苏联什么飞机用全钢外壳
如何促进城乡义务教育均衡发展
宝宝得了脐疝怎么办?
骨龄快闭合了,还会多大希望长高,已16岁了。
黑哥茶馆地址好找么,我有些事要过去
电源线的线径计算方法?
葡萄酒怎么用蛋清澄清
九九重开一字添什么意思
推荐资讯
苏浙精品羊绒羊毛衫兴平直销点地址在什么地方
产妇乳房肿块怎么办翱...
延安大生产运动的时间
哈弗h6发动机装饰罩
24和27英寸的显示器差多少?
推荐一家温州广告公司广告设计公司
植物大战僵尸西游版隐藏关卡
北方冬季装修好不好
介绍一下室内全彩屏厂家哪个做工不错?能不能
万达影城(昆山世茂广场店)地址在哪,我要去那
探究函数f (x )=绝对值x分之一在定义域内的单
好像也没有托尼啊,也受伤了吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?