Sql server sqlserver中的词匹配与替换

Sql server sqlserver中的词匹配与替换,sql-server,Sql Server,我必须对数据库中的一个字段应用单词更正。这些更正是缺少的法语口音。我有两个表,一个是公司数据,一个是公司名称字段,该字段可能缺少某些特定单词的重音符号,另一个是包含需要重音符号的已知单词集合的表 ID CompanyName ID Word ------------------------------ --------------------------- 1 Jim Desormeaux Electrique

我必须对数据库中的一个字段应用单词更正。这些更正是缺少的法语口音。我有两个表,一个是公司数据,一个是公司名称字段,该字段可能缺少某些特定单词的重音符号,另一个是包含需要重音符号的已知单词集合的表

ID   CompanyName                         ID   Word
------------------------------           ---------------------------
1    Jim Desormeaux Electrique            1   Désormeaux
2    Entreprises D Desormiers Inc.        2   Électrique 
                                          3   Désormiers 
我想创建一个查询,搜索第一个表中公司名称中匹配的单词,并用第二个版本中的版本替换匹配的单词。像这样

ID   CompanyName                    
------------------------------           
1    Jim Désormeaux Électrique            
2    Entreprises D Désormiers Inc.
现在,我知道我可以使用Latin1_General_CI_AI参数,这样带重音的单词将与不带重音的单词匹配。所以我可以这样做

UPDATE C
SET C.CompanyName = REPLACE(C.CompanyName, AWR.Word, AWR.Word) 
FROM Companies C
INNER JOIN AccentsWordRepository AWR ON C.ListingName LIKE '% ' + AWR.Word + ' %'
    OR C.ListingName LIKE '%' + AWR.Word + ' %'
    OR C.ListingName LIKE '% ' + AWR.Word + '%'
这里的问题是,这真的很慢,我想知道是否有更好的方法来做到这一点


谢谢。

几年前,我必须提高一个处理大量字符串的存储过程的性能,这是我通过将处理逻辑移出部署到Sql Server的CLR程序集中获得的最佳结果,我不确定这是否会对您有所帮助,但无论如何,您可以尝试一下


我刚刚找到了一个示例,但您肯定可以自己搜索它

SQL Server全文搜索是否为您提供了任何可能的解决方案?每一个版本都在进步,它肯定会提供一些东西


谢谢,我会调查的。