现在我的系统是字符类型,最大为4000个字节,客户发现字数不够,我自己试了一下改为文本类型,但字段大小那里改写保存后自动就变为了0,这样我原来是数据就不见了,现在有什么办法,请问oracle什么类型字数最多,而且可以把修改原来的字段类型不影响旧的数据!急,有哪个知道麻烦告诉一下!谢谢

解决方案 »

  1.   

    oracle没有text类型的!
    oracle的是clob,blob!!! long已经是废弃的类型了。
      

  2.   

    long可以
    但是你改过以后,如果sql对那个字段有操作,比如substr,instr等,就会报错了
      

  3.   

    谢谢大家的帮忙 是 blob 类型 我那个工具转换过来就是文本类型了现在文本类型够用了,但问题出来了
    因为原来的字符类型不能转换为blob类型,我现在是新建立一个字段是blob类型的,然后想把原来那个字符类型拷贝到blob类型字段了,应该怎么做呢,我用update出错
      

  4.   

    保存的是字符串?用CLOB,别用BLOB
      

  5.   

    恩,我现在是CLOB 但问题是怎么转换呢,我直接用update  出错,应该怎么把varchar类型转为clob呢
      

  6.   

    update可以吧?
    TEST@tl>create table test(aaa varchar2(10),bbb clob)
      2  /表已创建。TEST@tl>insert into test(aaa) values('abcde');已创建 1 行。TEST@tl>select * from test;AAA        BBB
    ---------- --------------------------------------------------------------------------------
    abcdeTEST@tl>update test set bbb=aaa;已更新 1 行。TEST@tl>select * from test;AAA        BBB
    ---------- --------------------------------------------------------------------------------
    abcde      abcdeTEST@tl>
      

  7.   

    楼上的我之前就那样做的
    table  
    name1 varchar2(32), nr clob 类型
    然后我
    update sjb2 set nr=name1
    提示 无效果的十六进制类型
      

  8.   

    错了,因为我这里用中间件,只有BLOB类型  中文不管上是文本还是二进制 在数据库里显示都是blob