我以前创建的字段是INT类型,里面存有很多条INT类型数据了,我想把这个字段的类型修改为VARCHAR,改怎么转?除了要清空表里的数据后修改字段类型外,有其他方法吗?
解决方案 »
- 怎么查出某个数据库里 主键是%关键字% 的所有表名
- 高手救命,在线等带。
- 请问如何写一个sql,只保留表的前500条记录,其余的都删除
- 请教:怎么使触发器实现把编号处理为0000001的方法。并求PL/SQL的帮忙文档
- 启动tnslinstener时出现:错误3,系统找不到指定路径
- 把多行sql语句,存储在以.sql为后缀的文本文件里,用Web语言(php,asp ,jsp)一次调用执行所有的sql语句
- 请问在oracle9i 中SQLPlus Worksheet和sql plus区别是什么?SQLPlus Worksheet能否代替sql plus?
- 简单的问题==》怎么在oracle里面做,自动编号列啊?????
- 这个错误如何解决啊
- 一个简单的问题
- rman怎么恢复控制文件???
- 如何获得用户能访问的所有表,包括授权访问的其他用户的表
无数据,有数据修改方法
试试,我也无修改过
由于需求变动,现要将一个类型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;
这个好像不错....
2.清空修改列数据并且修改列类型
3.用增加的列Update修改的列