varchar是單字兇數據類型
nvarchar是雙字節數據如果你隻是一台機子用一般用varchar如果你的數據需要導入導出,應該用nvarchar

解决方案 »

  1.   

    nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varyingvarchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
      

  2.   

    差别在于nvarchar是用于存储处理数据库图表中多语言数据的Unicode数据。
    其它语言有一套需要保存的字符代码的扩展集,这种数据类型支持这样的扩展。
    因为需要存储其它语言的扩展字符代码,nvarchar占用的空间是varchar的两倍。
      

  3.   

    那我现在想把一个表中的所有nvarchar转化成varchar可以吗?
    该怎么处理才能不出错呢?我的数据库在服务器上运行着的,一天24小时有人访问。
      

  4.   

    其实我觉得楼主你应该根据实际情况来定义:
    楼上各位说的很清楚了,但提醒的是:nvarchar是定长的,varchar是不定长的;nvarchar是双字节的,varchar是单字节declare @str1 nvarchar(100)
    declare @str2 varchar(100)
    set @str1='test'
    set @str2='test'
    select datalength(@str1)
    select datalength(@str2)--------------结果:
    8
    4