varchar2(byte) 存储的是字节。
varchar2(char) 存储的是字符。
varchar2(2 byte) 最多可以存储2个字节,varchar2(2 char) 最多可以存储2个字符。
当数据库字符集分别:
1.为 AL32UTF8 时,1个汉字是1个字符,1个汉字占3个字节,varchar2(2 byte) 一个汉字也不能存,varchar2(2 char) 能存2个汉字。
2.为 ZHS16GBK时,1个汉字是1个字符,1个汉字占2个字节,varchar2(2 byte) 能存1个汉字,varchar2(2 char) 能存2个汉字。
默认情况下,在指定数据类型为 varchar2(2) 时是什么情况呢?这跟数据库中的一个参数有关: NLS_LENGTH_SEMANTICS
select name,value from v$parameter where name='nls_length_semantics';
NAME VALUE
------------------------------ ------------------------------
nls_length_semantics BYTE
如果该参数的值为 byte ,则 varchar2(2) 等同于 varchar2(2 byte),这是默认情况。
Oracle中的数据类型:varchar2所带参数zozotown、 万国邮政联盟、 自贸区跨境通网站、 wish店铺指导流量推送、 分享某大卖亚马逊黑五日销69万刀筹备经验、 亚马逊自动广告的四大误区,颠覆你对自动广告的认知、 美国商标注册费用或全面上涨!8月3日起必须委托美国律师!、 2020跨境电商六大关键趋势前瞻!、
没有评论:
发表评论