看过很多解释但是还是没搞明白,并且有越来越晕的感觉,希望这次能清晰的解决这问题!varchar和nvarchar在实际编程中究竟如何选择用哪个呢?

解决方案 »

  1.   

    varchar(n)
    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)
    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。两字段分别有字段值:我和coffee
    那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar以上是偶在网上找的资料,有点书面化.偶自己的理解就是,不管什么地方,最好都用nvarhar.为得是通用,国际化.简少出错.
      

  2.   

    多语言时。最好用nvarchar。它符合SQL内的left和len的长度,不管中文或英文。它对任何字符的存储空间,都是以每个字符二个字节算。varchar是对字符的真实存储,在对多语言的操作中有些不便。它的计算方法是中文是以二个字节一个字,但字母是以一个字节存储。(与SQL内的len有些出入) 
      

  3.   

    说白了,当你定义的字段长度小于你实际存储长度时,varchar会补空格,nvarchar则不会。