我曾经有一个用户搜索文本框,当有人输入name时,它应该获取具有相似声音的名字。
我已经检查了SOUNDEX和DIFFERENCE FUNCTIONS,但不知道如何动态使用它。
SELECT DIFFERENCE('DIPAK', 'DEEPAK');
SELECT SOUNDEX ('DIPAK'), SOUNDEX ('DEEPAK');
请提出建议。
如果要在函数中使用不同的字符串值,则可以在查询中使用参数:
declare @Search nvarchar(50) = 'DIPAK';
select soundex(@Search);
如果要将其与表中的值进行比较,则需要soundex
在where
或join
条件内计算查找值的或在表中添加一列以保存该值:
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;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句