zoukankan      html  css  js  c++  java
  • 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表才是最详细的
  • 相关阅读:
    UVA 1557
    基于角色的权限设计(二)
    用DirectShow实现视频採集-流程构建
    oracle中schema指的是什么?
    GCC 命令行具体解释
    希尔排序
    单点登录SSO的实现原理
    济南最新公交线路一览(BRT)
    编写你自己的单点登录(SSO)服务
    C和指针 (pointers on C)——第五章:操作符和表达式
  • 原文地址:https://www.cnblogs.com/pengineer/p/4337370.html
Copyright © 2011-2022 走看看