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


这两个相不相同是由参数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将可能无法正常运行。
原文地址:https://www.cnblogs.com/jycjy/p/7063388.html