SqlServer更改字段类型--varchar转decimal
varchar的NULL 无法转为为decimalde NULL,需要先转换为0,再转换为NULL
在表中的字段类型可以为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