重命名数据表中的行

时间:2013-04-02 17:08:42

标签: c# sql-server datatable sqldatareader

我目前正在使用第三方应用程序的数据库,该应用程序没有对我正在使用的列中的数据进行表单检查。我正在使用SqlDataReader(因为这不需要修改数据库中的现有表)将数据放入数据表并删除重复项,但是当我删除重复项时,我仍然通过不同的人进入垃圾重复项数据不正确。例如;

  • 苹果
  • APPL
  • 香蕉
  • BANNEAN
  • BANA
  • 红毛
  • 等...

如何在数据表中更正它们,以便数据表只有Apple,Orange等...

幸运的是,此列中只有几个不同的项目,并且都以不同的字符串开头,例如cen,cas,所以如果我能够从app开始更改所有

不幸的是,修改原始程序以在输入时检查数据不是一种选择。

1 个答案:

答案 0 :(得分:0)

我认为这个脚本可以帮到你。

update [TableName]
set [ColumnName] = 'someName'
where [ColumnName] in 
(
select [ColumnName] from [TableName]
where [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
and [ColumnName] != 'someName'
)
--to be safe google "begin transaction" and how to "rollback" the changes

更改列名后,您可以根据已更改列的名称删除列。

delete [TableName]
where [ColumnName] = 'TheName'