在表中的字段类型可以为NULL,且数据全为数字或者“”的情况下,直接把字段类型为 varchar更改为 decimal有可能会提示“ 将数据类型 varchar 转换为 decimal 时出错 ”, 可以先把字段类型更改为 int,然后在把字段类型更改为 decimal, 但是这样会把此字段值为“”的数据全部改为0,如果数据为0有影响的话,可以再把值为0的数据改为NULL。

原表设计:

alter table temp alter column phone int null

alter table temp alter column phone decimal null

更改后的表设计:

更改后的表数据:

update temp set phone= NULL where phone=0