• Oracle 汉字占用字节数


    在oracle中一个字符特别是中文字符占几个字节是与字符集有关的。
         比如GBK,汉字就会占两个字节,英文1个;如果是UTF-8,汉字一般占3个字节,英文还是1个。但是一般情况下,我们都认为是两个字节处理,因为oracle安装时候默认我们都选择GBK的编码格式,但是我们在页面做输入字符串长度的校验的时候,还是以数据库设计字段最大长度除3来作为最大长度-----防止数据库移植时设置不同编码格式。
       
    查看字符串占用的字符数:
    select length('12中华') from dual;     --4
    查看字符串占用的字节数:
    select lengthb('12中华') from dual;   --8
     
    nvarchar2的一个汉字字符都是占用两个字节的,与字符集无关:
    select length(N'中华1') from dual;     --3 
    select lengthb(N'中华1') from dual;   --6
     
    补充:
    (1)
    查询字符集语句: select userenv('language') from dual;    (SIMPLIFIED CHINESE_CHINA.AL32UTF8)
    查询结果分为三部分: NLS_LANG = language_territory.charset 它有三个组成部分(语言、地域和字符集), 其中: Language 指定服务器消息的语言,territory 指定服务器的日期和数字格式,charset 指定字符集 。
     
    (2)如何查看Oracle的字符集,日期格式,语言等?
    SYS>show parameter nls;    --得不到具体全面的value
    SYS>select * from nls_database_parameter;   --nls_database_parameter表才是最详细的
  • 相关阅读:
    C#中的Dictionary的使用
    关于加密和解密的方法
    单链表逆置
    稀疏矩阵存储
    数组内存地址
    堆和栈的区别
    vc++6.0快捷键
    springMvc-02
    SpringMvc-01
    数据库字段设置问题,具体问题具体分析
  • 原文地址:https://www.cnblogs.com/pengineer/p/4337370.html
Copyright © 2020-2023  润新知