gpt4 book ai didi

oracle - 如何在 Oracle 数据库中将列的数据类型从 varchar2 更改为数字

转载 作者:行者123 更新时间:2023-12-04 02:00:45 26 4
gpt4 key购买 nike

当我运行 alter 查询时,我收到错误消息,指出要修改的列必须为空。

Table  : Monthly_Result (Id Number(38,0), dealer_ID varchar2, sales_revenue Number(38,2))

dealer_Id 应更改为 Number(38,0)

请帮忙

最佳答案

正如 Alex 在他的评论中提到的,您需要添加新列;更新它并检查值是否已正确转换;然后在准备好后删除旧列。

-- step 1
alter table monthly_result add tmp number(38, 0);
update monthly_result set tmp = to_number(dealer_id);

-- step 2
-- check values are set correctly in tmp

-- step 3
alter table monthly_result rename column dealer_id to dealer_id_old;
alter table monthly_result rename column tmp to dealer_id;

-- step 4
alter table monthly_result drop column dealer_id_old;

关于oracle - 如何在 Oracle 数据库中将列的数据类型从 varchar2 更改为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31442340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com