zoukankan      html  css  js  c++  java
  • Oracle 中 varchar2(N) 与 varchar2(N char) 的区别

    varchar(N)中是可以存储N个字节,而varchar(N char)是可以存储N个字符

    1、varchar2(N):可以存储N byte长度,与字符数无关;例如varchar2(3),可以存储3个byte长度,如'啊a'、'aaa',与字符数无关;

    2、varchar2(N char):可以存储N个字符(包括字母和汉字),与字节(byte)长度无关;例如varchar2(3 char),可以存储3个字符(包括字母和汉字),如'啊啊啊'、'aaa'、'啊aa',与字节(byte)长度无关;

    测试如下:

    --创建测试表vctest1和vctest2
    create table vctest1(  c1 varchar2(10) );
    create table vctest2(  c1 varchar2(10 char) );

    vctest1插入测试

    insert into vctest1 values('AAAAAAAAAA');--插入成功
    --一个汉字占用两个字节
    insert into vctest1 values('测试测试测');--插入成功

    --插入11个字符,错误如下图
    insert into vctest1 values('AAAAAAAAAAA');

    image

    --插入6个汉字,错误如下图
    insert into vctest1 values('测试测试测试');

    image

    vctest2插入测试

    --分别插入10个字母或者10个汉字,插入成功
    insert into vctest2 values('AAAAAAAAAA');
    insert into vctest2 values('测试测试测试测试测试');

    --插入11个字符或者11个汉字,均报以下错误
    insert into vctest2 values('AAAAAAAAAAA');
    insert into vctest2 values('测试测试测试测试测试测');

    image

    测试完成,删除测试表

    drop table vctest1;
    drop table vctest2;


    参考:

    https://blog.csdn.net/su377486/article/details/69617472

    https://blog.csdn.net/yangliehui/article/details/49486791

  • 相关阅读:
    版本控制,django缓存,跨域问题解决
    Linux之文件系统结构
    Linux之定时任务
    Linux之LVM
    Linux之硬盘与分区
    Linux之文件重定向与查找
    Linux之文件压缩
    Linux之文件权限
    Linux之用户管理
    Linux之文件管理
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/13718102.html
Copyright © 2011-2022 走看看