gpt4 book ai didi

sql - DB2 需要有关更改表更改列集数据类型的帮助

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

我需要从 VARCHAR 更改列的数据类型至 DECIMAL
我在列中有数据,但它们都是数值,如 10.00, 25.50等等,

现在当我做 alter table MY_TABLE alter column COL1 set data type to decimal(11,2)它的失败。

我可以在这里遵循什么过程。

我确定这不是一个新问题,但我找不到解决方案,所以我没有绞尽脑汁,而是在这里问。

最佳答案

语法是ALTER TABLE {tableName} MODIFY {Column-Name} {New-Column-Definition}IE。 ALTER TABLE MY_TABLE MODIFY COL1 DECIMAL(11,2)
通常,这(更改列数据类型)不会将现有数据转换为新类型,并且可能会将不兼容的值设置为 NULL(或者它可能会进行智能转换,它几乎是特定于 DBMS 服务器的)

如果数据量不是太大,你可以这样做

ALTER TABLE MY_TABLE ADD COLUMN Temporary decimal(11,2);
UPDATE MY_TABLE SET Temporary=CAST(COL1 AS DECIMAL(11,2));
ALTER TABLE MY_TABLE DROP COLUMN COL1;
ALTER TABLE MY_TABLE CHANGE Temporary COL1 decimal(11,2);

编辑:第一部分可能不正确

关于sql - DB2 需要有关更改表更改列集数据类型的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905160/

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