广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    oracle如何修改字段类型

    来源:网络收集  点击:  时间:2024-05-04
    【导读】:
    创建视图时,因为表太多,里面一些字段类型不一样,PL/SQL报错:“表达式必须具有对应表达式相同的数据类型,”发现后,一个字段的类型为CLOB和VARCHAR2(4000)两种,将CLOB进行修改,将CLOB字段修改成varchar2(4000)字段。具体操作如下:工具/原料more笔记本电脑oracle软件、PL/SQL工具方法/步骤1/7分步阅读

    把原字段换个名字,此条的sql是把C_009700010003换成C_0097000100031:

    alter table表名rename column当前字段to备用字段;

    2/7

    在表中添加一个原字段名字C_009700010003 ,并把类型定义自己想改变的类型, 此条是定义VARCHAR2类型:

    alter table表名add新增字段名称字段类型;

    3/7

    养成良好的习惯,将字段名称进行备注,以免以后忘记字段名称。

    4/7

    这条语句是把备份的C_0097000100031字段内容 添加到新建字段C_009700010003 中来,这条语句就是把CLOB类型的数据转换成varchar2类型在插入到新定义的C_009700010003:

    update 表名 set新增字段名称= dbms_lob.substr(备用字段,4000);

    5/7

    把备份字段C_0097000100031去掉

    6/7

    第四步的dbms_lob的用法,整理了下:

    第四步中是截取前4000.

    CLOB里存的是2进制

    判定长度 DBMS_LOB.GETLENGTH(col1)获取文本 DBMS_LOB.SUBSTR(col1,n,pos)DBMS_LOB.SUBSTR(col1,10,1)表示从第1个字节开始取出10个字节

    DBMS_LOB.SUBSTR(CLOB_VAR,32767)表示截取CLOB变量保存的全部数据

    DBMS_LOB.FILECLOSE(IMG_BFILE)关闭文件;

    clob转化为字符串,SELECT UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(col1,10,1)) FROM tab1;

    如果clob中包含空格则不能使用。

    将clob类型转化成字符串;

    7/7

    当然了,还有一个更简单的方法。

    利用第三方工具软件PL/sql把数据导出来,而后修改数据结构,即修改数据类型,最后就重新往新的表插入数据。

    alter table filenamemodify字段名varchar2(4000)

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_672286.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 04:07:38  耗时:0.027
    0.0268s