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全文搜索是否为您提供了任何可能的解决方案?每一个版本都在进步,它肯定会提供一些东西
谢谢,我会调查的。