最近被问到varchar/varchar2/nvarchar2的区别,在这里直接上例子说明:
varchar(10) 可以存 abcdefghij 这样10个非中文字符, 但是只能存 我是测试的 这样5个中文字符。
在oracle中基本不建议使用这种类型了,虽然现在还是一样用。
varchar2(10)和上面一样可以存 abcdefghij 这样10个非中文字符, 但是只能存 我是测试的 这样5个中文字符。
这里有点不一样,varchar2所有字符一律占2字节,空字符串转成Null处理
nvarchar2(10) 可以存 123456789012345678901 这样21个非中文字符, 而且照样能存 我是测试的我是测试的我是测试的我是测试的我 这样21个中文字符。
我这oracle10g版本,各类型最大长度为varchar(4000)/varchar2(4000)/nvarchar2(2000),抛砖头引玉哈