您的位置:首页 > 数据库 > Oracle

oracle--varchar2

2016-03-21 15:49 344 查看
1. varchar2列最多占用4000字节,但是能容纳多少字符就不一定了

使用sql查看字符集:

select userenv('language') from dual;
--select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

如果是ZHS16GBK,则一个字符占用两个字节;AL32UTF8或UTF8,则英文字符一个字节,一个汉字占用三到四个字节

可使用sql

SELECT LENGTHB('您好') FROM DUAL;

查看占用了几个字节

2. 如果修改字符集,使用:

ALTER DATABASE CHARACTER SET UTF8

对数据库服务器而言,错误的修改字符集将会导致很多不可测的后果,可能会严重影响数据库的正常运行,所以在修改之前一定要确认两种字符集是否存在子集和超集的关系

特别说明:我们最常用的两种字符集ZHS16GBK和ZHS16CGB231280之间不存在子集和超集关系,因此理论上讲这两种字符集之间的相互转换不受支持修改

如果要从父集转到子集,需要使用INTERNAL_USE参数,跳过超子集检测

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: