如何在SQL Server 2008中动态使用SoundEx



我曾经有一个用户搜索文本框,当有人输入名称时,它应该获取具有相似声音的名称。

我已经检查了Soundex和差异功能,但不知道如何动态使用它。

SELECT DIFFERENCE('DIPAK', 'DEEPAK');  
SELECT SOUNDEX ('DIPAK'), SOUNDEX ('DEEPAK');

请建议。

如果您的意思是在函数中使用不同的字符串值,则可以在查询中使用参数:

declare @Search nvarchar(50) = 'DIPAK';
select soundex(@Search);

如果要将其与表中的值进行比较,则需要在wherejoin条件中计算查找值的soundex或在保存此值的表中添加一列:

declare @SearchSoundex nvarchar(10) = soundex('DIPAK');
select *
from Names
where soundex(FirstName) = @SearchSoundex;

declare @SearchSoundex nvarchar(10) = soundex('DIPAK');
select *
from Names
where FirstNameSoundex = @SearchSoundex;

相关内容

  • 没有找到相关文章

最新更新