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表才是最详细的
  • 相关阅读:
    raspberry pi (树莓PI)使用socket向PC发送视频流
    树莓PI交叉编译BOOST库(asio网络例子)
    远程调试树莓PI
    opencv车速检测
    屏蔽同步(JAVA)
    linux常用命令记录
    虚拟机中Ubuntu设置固定IP方法
    java笔记01-反射
    java笔记00-目录
    mysql由于外键关联无法删除数据
  • 原文地址:https://www.cnblogs.com/pengineer/p/4337370.html
Copyright © 2011-2022 走看看