Oracle 修改现有列的数据类型


如果表中有数据,Oracle是不能修改其数据类型的。但可以通过新建一个临时列,将要修改列的数据复制到临时列中,删除原列再修改临时列的名字。这样说好像有点拗口,分步解说一下。

表AC_REG中有列:is_active,原来是字符类型的,目标是将它改为数值类型

---目标将IS_ACTIVE改为数值型
--新增一列
alter table AC_REG add is_active_temp number(1);
--将IS_ACTIVE的值,赋给is_active_temp
update AC_REG set is_active_temp = cast(is_active as number(1));
--删除原来的列
alter table AC_REG drop column is_active;
--修改名称
alter table AC_REG rename column is_active_temp to is_active;

 

 

blob转varchar2

UTL_RAW.CAST_TO_VARCHAR2(blob_)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM