Oracle varchar的默认类型修改

本文详细解析了Oracle中VARCHAR类型的两种形式:VARCHAR BYTE与VARCHAR CHAR的区别,尤其关注于非ASCII字符(如汉字)的存储数量差异。通过实例说明如何根据实际需求选择正确的类型,并提供了查询与修改默认类型的SQL语句。

Oracle varchar的默认类型修改

Oracle列的格式中最常用的就是varchar,但varchar其实也有两种类型,分别是CHAR和BYTE,如果不指定类型,则默认为BYTE。

两者区别在于,可存放非ACSII码值(如汉字)的数量。

例如: 某一列的定义为VARCHAR(6) 或 VARCHAR(6 BYTE)

对于UTF-8编码,一个汉字占3个字节,那这一列只能放2个汉字。

要想放6个汉字,则应定义为VARCHAR(6 CHAR)

查看默认类型可用如下SQL:

select * from nls_instance_parameters where parameter=‘NLS_LENGTH_SEMANTICS’;

默认类型也可以修改,修改方式如下:

alter system set nls_length_semantics=‘CHAR’ scope=both;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值