我使用以下查询:
更改表格售前更改列代码类型数字(10,0);
要将列的数据类型从character(20)更改为numeric(10,0),但出现错误:
“代码”列不能转换为数字类型
您可以尝试使用使用:
可选的
USING子句指定如何从旧列计算新列值;如果省略,默认转换与从旧数据类型转换为新数据类型的赋值转换相同。如果没有从旧类型转换为新类型的隐式或赋值,则必须提供USING子句
因此,这可能会起作用(取决于您的数据):
alter table售前使用code::numeric更改列代码类型numeric(10,0);
--或者如果你喜欢标准铸造。。。
alter table使用cast预售alter列代码类型numeric(10,0)(代码为numeric);
如果code中有无法转换为数字的内容,则此操作将失败;如果使用失败,您必须在更改列类型之前手动清理非数字数据