————————output——————————— v_len1的长度:10 v_len2的长度:3
NCHAR和NVARCHAR2保存数据使用unicode编码,统一了英文和汉字的长度。进行字符处理时方便,会浪费一定的空间。
DECLARE v_len1 NVARCHAR2(10):='ABCD'; v_len2 NVARCHAR2(10):='我爱中国'; BEGIN dbms_output.put_line('v_len1的长度:'||LENGTH(v_len1)); dbms_output.put_line('v_len2的长度:'||LENGTH(v_len2)); END;———————output——————————– v_len1的长度:4 v_len2的长度:4
DECLARE v_len1 VARCHAR2(10):='我爱中国天安门'; v_len2 NVARCHAR2(10):='我爱中国天安门'; BEGIN dbms_output.put_line('v_len1的长度:'||LENGTH(v_len1)); dbms_output.put_line('v_len2的长度:'||LENGTH(v_len2)); END;同样的字符串,VARCHAR2类型的报字符串缓冲区太小的错误。一般建议存储汉字时使用NVARCHAR2。