Oracle中varchar2(XX)和varchar2(XX byte)区别

时间:2022-04-11 01:45:20

这两个相不相同是由参数NLS_LENGTH_SEMANTICS决定的,有两个单位,char(字符)或者字节(byte),该参数默认值为BYTE。

alter session set nls_length_semantics=char;


SQL
> show parameter nls_length_semantics;

NAME TYPE VALUE
------------------------------------ ----------- --------------
nls_length_semantics string BYTE

 

对于SYS和SYSTEM而言不受该NLS_LENGTH_SEMANTICS影响,始终为BYTE

请不要随意修改SYSTEM级别的NLS_LENGTH_SEMANTICS,否则一些成品套件例如EBS将可能无法正常运行。