我在做项目时我们的数据库管理员见表时遇到数据时就用char型,在读取数据时后面会有很多的空格,这样做我要把字符型转化成其它类型时就要处理一下空格的问题,如果不处理在类型转换时就有可能转化出错!我现在想知道 char 到底比vchar 、nvchar性能高在什么地方,我觉得管理员这样使滥用char。大家能给点建议在什么情况下用用什么样的数据类型?

解决方案 »

  1.   

    char 是定长,varchar是不定长,根据需要确定使用哪种,各长度都一致的,用char比用varchar好,速度快,当长度大小不一,且相差大,此时多用varchar可节省空间.
      

  2.   

    我在座压力测试的时候 把一个char型的转化成int 型(在可转化的情况下) 我要多做一步类型转化不转换时在多用户一起提交时有时会出错说转化的字符串格式不正确,很是郁闷就是多了那些空格
      

  3.   

    如字段长度固定推荐用char,如邮编,手机号码等
    如字段长度不固定,浮动较大,建议用varchar
    nvarchar占用双字节字符,如存储单字节字符,则浪费空间!如有中文,英文混合可用nvarchar固定其长度!
      

  4.   

    很是郁闷就是多了那些空格   rtrim?
      

  5.   

    hehe,都不能滥用呀,根据实际情况来定
      

  6.   

    select cast(cast(' 12  ' as char(10))as int)  
    我这样怎么可以取得int型的"12"? 不知道楼主的报错怎么再现?