博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VARCHAR2 他们占几个字节? NLS_LENGTH_SEMANTICS,nls_language
阅读量:7082 次
发布时间:2019-06-28

本文共 874 字,大约阅读时间需要 2 分钟。

ORACLE初始化参数:NLS_LENGTH_SEMANTICS

初始化參数NLS_LENGTH_SEMANTICS用于指定CHAR列或VARCHAR2列的长度定义方式,默认值为BYTE。

当设置该參数为BYTE时,定义CHAR列或VARCHAR2列採用字节长度方式。

当设置该參数为CHAR时。定义CHAR列或VARCHAR2列採用字符个数方式。

须要注意,设置该參数对于已存在參数没有作用。

生产库

nls_language                         string      SIMPLIFIED CHINESE

nls_length_semantics                 string      BYTE

測试库

nls_language                         string      AMERICAN

nls_length_semantics                 string      BYTE

varchar2(20)和varchar2(20 byte)是否同样呢?

相不同样是由 的參数NLS_LENGTH_SEMANTICS决定的,有两个单位,char(字符)或者字节(byte)。该參数默认值为BYTE。
所以说。在默认情况下 varchar2(20) = varchar2(20 byte)。假设參数值为CHAR 就不相等。

两个库同一张表

select PERSON

from temp_opt_order_trace

where LENGTH(PERSON)=21

person varchar2(32)

'二郎公交车站对面18355200098代签'

这么说来 VARCHAR2(32)  是字符 不受NLS_LENGTH_SEMANTICS 是否BYTES影响 同一时候也不受nls_language 语言影响. 在我的11.2.0.0.1库里.

事实上受影响的 其PERSON最大值 21  这个是字符长度 也就是字符个数 字母,中文,数字都算1个. 当实际上相应的BYTES 中文占2个,字母和数字占1个.

nls_language 假听任UNICODE UTF-8 AU32 中国占3字节.

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
带你学C带你飞!
查看>>
html_03 | HTML——③ HTML 表单详解
查看>>
小猿圈解决vue权限问题的方案
查看>>
Express.js 解析 Post 数据类型的正确姿势
查看>>
关于UI设计行业的认识再到认识
查看>>
String类自带的字符串处理原生方法
查看>>
使用PHP+淘宝IP地址库接口获得IP所属地理位置
查看>>
我的友情链接
查看>>
Nginx白名单设置
查看>>
通过批处理文件使用7zip执行备份;将1日和15日的备份再另外备份;定时清理过期备份...
查看>>
安装 CentOS 时找不到硬盘的解决办法
查看>>
Java中的访问控制public,private,protected,package
查看>>
Foxmail 6.5在Windwos 7下无法编辑签名
查看>>
Putty 连接Centos服务器
查看>>
Active Diretory 目录服务相关命令
查看>>
建立属于自己的Cydia源,并获取cydia中的deb安装包,cyder不报错汉化版
查看>>
python列表中任意两个元素交换
查看>>
中国Linux联盟 - 圣诞节寄语
查看>>
Redis 的 master/slave 复制
查看>>
Java_Java面向对象核心总结
查看>>