sql server 中数据类型区别 SQL Server 数据类型学习 这些天,需要由Oracle移植到SQL Server,用到了Microsoft 的Microsoft SQL Server Migration Assistant 2005 for Oracle,用到了数据类型,所以对SQL Server 的数据类型来了个全面的学习,先总结几个关键点,于朋友们分享 The difference between char and nchar CHAR是固定长度的字节,VARCHAR是可变长度的字节,NCHAR是UNICODE编码的固定字符长度。 如:12345 在CHAR(6)存储为123456加一个空格,共6个字节。 中国 在CHAR(6)存储为中国加两个空格,共6个字节。 12345 在VARCHAR(6)存储为123456,共5个字节。 中国 在VARCHAR(6)存储为中国,共4个字节。 NCHAR(6)对汉字和半角字符处理时一样的, 而NCHAR以char类似,采用Unicode标准字符集,每个字符占用两个字节空间。 The difference between Char and Varchar char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符; varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度 The difference between Varchar and Nvarchar 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