Oracle改动字段类型

因为需求变动。现要将一个类型NUMBER(8,2)的字段类型改为 char。

大体思路例如以下:

将要更改类型的字段名改名以备份。然后加入一个与要更改类型的字段名同名的字段(原字段已经改名)。然后更新数据,最后删除改名备份的字段。

下面操作在 Oracle 10.2.0.1.0 中通过。

/*改动原字段名*/

ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;

/*加入一个和原字段同名的字段*/

ALTER TABLE 表名 ADD 字段名  VARCHAR2(30);

/*

将原来的数据更新到新字段中

这是要注意。一定要显示进行数据类型转换(不同于MSSQL)

*/

UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));

/*删除原来的备份字段*/

ALTER TABLE 表名 DROP COLUMN 字段名1;

时间: 2024-09-30 06:21:41

Oracle改动字段类型的相关文章

Oracle修改字段类型和长度

Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 如果是修改数据类型比如由varchar2修改为int且字段内有值,会报如下错误 解决方法参考:http://blog.csdn.net/itmyhome1990/article/details/8681206 转载请注明出处:http://blog.csdn.net/itmyhome1990/ar

Oracle改变字段类型

由于需求变化.现在,我们要一个类型NUMBER(8,2)字段类型改变 char. 总体思路如以下: 将要更改类型的字段名改名以备份,然后加入一个与要更改类型的字段名同名的字段(原字段已经改名).然后更新数据,最后删除改名备份的字段. 下面操作在 Oracle 10.2.0.1.0 中通过. /*改动原字段名*/ ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1; /*加入一个和原字段同名的字段*/ ALTER TABLE 表名 ADD 字段名  VARCHAR2(

oracle大字段类型clob和glob备忘

BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的.其实两个是可以互换的的,或者可以直接用LOB字段代替这两个.但是为了更好的管理ORACLE数据库,通常像图片.文件.音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去.而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等操作都提供很大的方便.

oracle通过字段类型查询字段

有的时候我们需要在oracle中通过字段名.字段类型.字段长度.字段注释.表名来查询具体的字段信息.比如:昨天同事问我,咱们数据库里面有用过blob类型的吗?我一时也想不起来具体哪个字段或那张表用了blob类型.于是就用如下语句查询库里面所有字段类型为blob.具体sql如下: SELECT b.column_name column_name --字段名 ,b.data_type data_type --字段类型 ,b.data_length --字段长度 ,a.comments comment

Mysql命令行改动字段类型

在做微信公众平台 知识百科(账号:zhishiwiki) 时,由于字段先前设计的不合理.导致内容装不下,因此须要改动其字段类型为 text 这里使用到了 alter 命令 alter table 表名称 modify 字段名称 字段类型 [是否同意非空]; 作者说:仅仅实用到了,才干学会很多其它

Oracle修改字段类型方法总结

SQL Code 12345678910111213141516171819202122232425   有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改

Oracle修改字段类型方法小技巧

有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时

oracle修改字段类型

有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行: alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:"ORA-01439:要更改数据类型,则要修改的列必须为空&q

Oracle修改字段类型方法总结(转)

有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时