oracle数据库如何修改字段的数据类型?

我的数据库有一个字段名为hiredate 但这个字段是varchar2的 我要现在改成date的
我直接改告诉我该字段必须为空 但由于数据量巨大 我无法清空此字段的所有值
怎么改 即能改变类型 有可以不删除数据?

1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。

2、oracle数据库添加列,比如,往测试表 tblTest 添加一个 日期类型的列 UpdateDate,sql语句就可以像下面这样实现,写完SQL之后,选中这一行sql,点击plsql左上角次轮状的图标执行sql语句:alter table TBLTEST add UpdateDate date;

3、执行成功之后,通过 select * from TBLTEST ,就能看到新添加的列默认都是空值。

4、oracle数据库删除列,比如,将上一步添加的 UpdateDate 列删除掉,就可以使用下面的sql语句修改表:alter table tbltest drop column updatedate;

5、执行成功后,再次使用 select * from TBLTEST ,就能看到 UpdateDate 列已经删除了。

6、oracle数据库修改列属性,比如,将测试表 tblTest 中 INTEGER 类型的 ITEMNUM 列修改为 number 类型,就可以使用下面的SQL语句:alter table tbltest modify ITEMNUM number;

7、在左侧 tbltest 表名上,点击鼠标右键,选择【Edit】选项,

8、然后在右侧出现的窗口中,点击【Columns】标签页,就能看到ITEMNUM已经从 INTEGER 改为 number 类型了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-21

用alter语句进行修改。

语法:

alter table 表名 modify 字段名 字段类型(字段长度);

说明:如果是date等没有长度的类型,字段长度部分可以省略。

如:目前test表属性如下

要将name列的字段类型改为date类型,可用如下语句:

alter table test modify name date;

此时可见name列的类型已经更新成功。

注意事项:

如果表中有数据尽量不要使用此语句,会造成数据丢失,应在备份的情况下进行修改。

第2个回答  2013-01-14
建议新加字段,再用SQL语句拷贝资料过来,新应用直接使用新字段。追问

如何把海量的数据迁移呢

追答

再海量,要搬不还是得搬。

本回答被提问者采纳
第3个回答  2013-01-14
要改成date类型的,就必须删,因为原来的数据不是date型的
第4个回答  2013-01-14
用工具把所有数据导出来,改完 再 导进来不就可以了,如果数据格式不对 就在记事本里批量修改一下

如何oracle修改字段类型
Oracle修改字段类型方法总结:1、假设字段数据为空,则不管改为什么字段类型,可以直接执行。2、假设字段有数据,则改为nvarchar20可以直接执行。3、假设字段有数据,则改为varchar20,按照弹出信息执行。4、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。5、当字段有数据并用要修改...

oracle数据库如何修改字段的数据类型?
1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。2、oracle数据库添加列,比如,往测试表 tblTest 添加一个 日期类型的列 UpdateDate,sql语句就可以像下面这样实现,写完SQL之后,选中这一行sql,点击plsql左上角次轮状的图标执...

如何oracle修改字段类型
因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型 要是没有数据的话直接用以下语句即可 alter table tb_test modify permile number(5,2); 但是有数据的话 就不能用上面方法了, alter table tb_test add permile_temp number(5,2) update tb_test set permile_temp=pe...

oracle数据库如何修改字段的数据类型?
用alter语句进行修改。语法:alter table 表名 modify 字段名 字段类型(字段长度);说明:如果是date等没有长度的类型,字段长度部分可以省略。如:目前test表属性如下 要将name列的字段类型改为date类型,可用如下语句:alter table test modify name date;此时可见name列的类型已经更新成功。注意事项:如果...

怎样改变Oracle数据库的表中字段的类型
1.修改数据表名 ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME;2.修改列名 ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;3.修改列的数据类型 ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE;4.插入列 ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATA...

oracle数据库之如何将blob类型转换为varchar2
本文将给大家讲解关于oracle数据库blob类型如何转换为varchar2 : 据说没有数据的时候可以直接转换,试过了也可以,但是一般都是由数据了才会去修改,麻烦产生,直接修改不了,只能通过函数来解决;总的思路是:创建临时字段B→将要转换的字段A放在临时字段中(使用函数转换)→删除A→将B名称改为A创建转换...

怎样改变Oracle数据库的表中字段的类型
要更改字段类型首先得清空这一列的数据 然后执行下面的alter 语句就可以 alter table your_talbe_name modify 字段名字 字段类型;

oracle中如何更改一个表的一个字段属性(名称,类型)
--删除掉旧字段ALTER TABLE 表名RENAME COLUMN 字段_bakTO 字段;--修改新字段的名称alter table 表名drop column 字段; --删除表一个字段alter table 表名add 字段NUMBER(11,0) default 0 not null;--添加表一个字段操作过程中遇到的问题场景: 作为一个小白,刚接触数据库操作,今天在oracle中...

Oracle修改字段名、字段数据类型
1、创建表:CREATE TABLE Student(id varchar2(32) primary key,name varchar2(8) not null,age number );2、修改字段名:alter table Student rename column name to StuName;3、修改数据类型:alter table Student modify (id varchar2(64));清醒时做事,糊涂时读书,大怒时睡觉,独处时思考;做...

oracle修改字段名,字段长度的操作是什么?
1、创建表:CREATE TABLE Student(id varchar2(32) primary key,name varchar2(8) not null,age number);2、修改字段名:alter table Student rename name to StuName;3、修改数据类型:alter table Student modify (id varchar2(64));Oracle数据库介绍:Oracle Database,又名Oracle RDBMS,或简称...

相似回答