SQL更正拼写错误的单词而不修改原始值

时间:2016-02-18 15:19:37

标签: sql-server sql-server-2008 tsql

当我SELECT something FROM sometable时,有一个字段包含something列(类别)中拼写错误的字词。如何在不修改数据库表本身的情况下更正它?例如,对于something中的每件事,如果事物的值等于/包含sophiscate,请将其选为sophisticate

3 个答案:

答案 0 :(得分:4)

SELECT REPLACE(ColName, 'Sophiscate', 'Sophisticate') AS ColName FROM SomeTable

如果由于某种原因REPLACE不适合您,您也可以使用CASE语句。

SELECT CASE WHEN ColName = 'Sophiscate' THEN 'Sophisticate' ELSE ColName END AS ColName FROM SomeTable

答案 1 :(得分:3)

你可以像这样使用REPLACE()函数:

SELECT REPLACE(somthing,'sophiscate','sophisticate') 
FROM sometable

答案 2 :(得分:2)

您可能需要的是MDM(Master Data Management)系统,您可以在其中拥有一个或多个表,这些表存储一个值与另一个值之间的映射。对于给定的数据类型或变量,您将(例如)“Conformed”值映射到“unsformed”值。因此,保留原始数据(在输出图层中创建),可以根据数据大小在视图或表格中显示数据中的一致值。

微软对此的实现是Master Data Services,它的功能远远超过我的描述。

我们使用自行开发的MDM来映射我们希望一起映射的数据中的更改或错误。

这取决于您的应用程序/数据/数据拓扑,如果这是一个合适的解决方案。