3

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

  • 苹果
  • 应用程序
  • 香蕉
  • 班南
  • 巴纳
  • 奥朗
  • ETC...

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

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

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

4

1 回答 1

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'
于 2013-04-02T18:00:13.737 回答