oracle 学习笔记 varchar2

1、varchar2最大可以存储4000个字节,也就是最大只能写成varchar2(4000);

 

2、创建表

create table T_TEST

(

  ID            VARCHAR2(32) not null,

  TEST_VARCHAR2 VARCHAR2(4000),

  USERNAME      VARCHAR2(6)

)

 

3、向TEST_VARCHAR2 字段插入2000个汉字(多加一个字母就会报错),由于字数过篇幅长,这里省略部分字符。

insert into t_test

  (id, test_varchar2)

values

  ('2',‘这里写入2000个中文汉字’)

 

4、查询长度和字节长度

select length(test_varchar2),lengthb(test_varchar2) from t_test ;


 

5、插入4000个字母,再次查询长度和字节长度



 

结论,varchar2 能存储 2000个汉字和4000个字母。

 

6、网上搜到说一个汉字站三个字节,这与数据库的字符编码有关,我本地使用的是GBK,16位,一个汉字站两个字节,若使用utf-8,32位 则会出现一个汉字占3个字节(此处为做试验,这里引入参考文章的路径http://a498740995.iteye.com/blog/1610172)

 

7、扩展ORACLE nvarchar2和varchar2的区别

 
   1、NVARCHAR2中存储中文字时,一个中文字当一个字符来处理
      NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。
   2、而VARCHAR2中一个中文字当两个字符来处理
      VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个

     Oracle中nvarchar2和varchar2的共同点:
     不定长存储,当存储信息长度小于指定的长度,那么就已实际存入的长度为准这一点不像varchar这种定长存储那样浪费空间,比如varchar 指定是10个字符,那么存入5个字符的时候,他会自动填充空格来补齐以达到指定的长度


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值