日期:2014-05-16  浏览次数:20410 次

NVARCHAR2和varchar

??????? 今天做从oracle中导数据进sqlserver后台总是报

?????????com.microsoft.sqlserver.jdbc.SQLServerException:?将截断字符串或二进制数据。
??????? 查看多次,发现列的字段长度都一样的,最后发现原来们

??????? oracle中我用的是nvarchar2(1000)而sqlserver中我用的是varchar(1000)原来这两者之间是有区别的

??????? nvarcahr(50)可以存储50个汉字
????? ? varchar(50)只能存储25个汉字
?????? ?varchar是按字节存储
????? ? nvarchar是按字符存储
??????? 存储方式不一样
??????? nvarchar2的所有字符都按照2个字节存储
??????? nvarchar是中文按照2个字节存储,英文按照1个字节存储
??????? 但是nvarchar2的兼容性好