我在表中有20行,而该表中的一列是varchar
类型,我需要更改为decimal (18,2)
类型的列,因为在数据库列中值是十进制的,我需要更改所有列,请帮帮我。
答案 0 :(得分:2)
答案 1 :(得分:0)
尝试转换
http://msdn.microsoft.com/en-us/library/ms187928.aspx
像这样的东西
alter table sqlTable add newColumn
UPdate sqlTable
Set newColumn = convert(decimal(18,2),oldcolumn)
alter table sqlTable drop oldcolumn
答案 2 :(得分:0)
要迁移数据 - 如果确实这是您的要求 - 您可能最好在表中添加新列,对该列进行更新,检查数据然后删除旧列。如果要保留原始列名,可以重复此过程。
因此
1. alter table mytable add myNewColumn int
(或十进制(18,2),取决于您的要求)
2.更新mytable set myNewColumn = cast(myOldColumn as int) or convert(int, myOldColumn)
- 请参阅http://msdn.microsoft.com/en-us/library/ms187928.aspx
3.目视检查数据
4. alter table mytable drop myOldColumn