如何使用表中的现有行修改Oracle中的数据类型
如何在不删除表数据的情况下将列的数据类型从如何使用表中的现有行修改Oracle中的数据类型,oracle,oracle11g,type-conversion,Oracle,Oracle11g,Type Conversion,如何在不删除表数据的情况下将列的数据类型从number更改为varchar2 但是,您可以使用新数据类型创建新列、迁移数据、删除旧列以及重命名新列。差不多 ALTER TABLE table_name ADD( new_column_name varchar2(10) ); UPDATE table_name SET new_column_name = to_char(old_column_name, <<some format>>); ALTER TABL
number
更改为varchar2
但是,您可以使用新数据类型创建新列、迁移数据、删除旧列以及重命名新列。差不多
ALTER TABLE table_name
ADD( new_column_name varchar2(10) );
UPDATE table_name
SET new_column_name = to_char(old_column_name, <<some format>>);
ALTER TABLE table_name
DROP COLUMN old_column_name;
ALTER TABLE table_name
RENAME COLUMN new_column_name TO old_coulumn_name;
ALTER TABLE\u name
添加(新列名称varchar2(10));
更新表名称
将new_column_name=设置为_char(old_column_name,);
更改表格名称
删除列旧的列名称;
更改表格名称
将列new_COLUMN_name重命名为old_COLUMN_name;
如果您有依赖于列在表中的位置的代码(实际上不应该有),您可以重命名该表,并使用表的原始名称在该表上创建一个视图,该视图按照代码所期望的顺序公开列,直到您可以修复该错误代码。在修改列数据类型之前,您必须先处理现有行 您可以执行以下步骤:
您还可以尝试CTAS方法,即创建表作为选择。但是,以上方法是安全且可取的。最有效的方法可能是创建表。。。作为选择
(CTAS)
更改表格名称修改(列名称VARCHAR2(255));
因为我们不能用值更改列的数据类型,所以我采用的方法如下:
假设要更改类型的列名为“A”,这可以通过SQL developer实现
第一个按其他列对表数据进行排序(例如:datetime)。
接下来复制列“A”的值并粘贴到excel文件。
在提交时删除列“A”的值。
更改数据类型并提交。
再次按以前使用的列(例如:datetime)对表数据进行排序。
然后粘贴从excel复制的数据并提交。不客气。如果它对您有帮助,请将其标记为已回答。