Sql server SQL在不修改原始值的情况下更正拼写错误的单词

Sql server SQL在不修改原始值的情况下更正拼写错误的单词,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,当我从sometable中选择某物时,有一个字段包含something列(类别)中拼写错误的单词。如何在不修改数据库表本身的情况下更正它?例如,对于something中的每个事物,如果该事物的值等于/包含somethinate,则将其选择为somethinate SELECT REPLACE(ColName, 'Sophiscate', 'Sophisticate') AS ColName FROM SomeTable 如果出于某种原因,REPLACE对您不起作用,您也可以使用CASE语句 S

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

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
您可以像这样使用REPLACE()函数:

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

您可能想要的是MDM()系统,在这里您可以有一个或多个表,这些表存储一个值和另一个值之间的映射。对于给定的数据类型或变量,您可能有(例如)“符合”的值映射到“未符合”的值。因此,保留原始数据,在输出层中创建,根据数据大小在视图或表中显示数据中的一致值

微软实现这一点远比我上面描述的要有效

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


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

您的问题仍然不清楚。你只需要知道如何具体地纠正一个单词吗?或者你是否需要一个类似自动更正的函数,它使用字典来更正所有拼写错误?@TabAlleman很抱歉造成混淆,但我提到了“选择为”。因此,我不是在寻找改变/更正数据的解决方案。这很完美,但您大约迟到了1分钟。我向你竖起大拇指。祝你过得愉快。事实上。。。我先回答:)重新检查时间,我接受了你的答案。当-
然后
-
其他
时,是否有一个
案例
-
解决方案,例如,如果
ColName
复杂的
,则将其选择为
复杂的
,否则,保持选择为原始的
ColName
?是的,同样的事情可以通过这种方式完成,尽管它的语法较长。我将发布第二个答案。很高兴知道。非常感谢。