2014-10-08 40 views
2

我阅读了一篇关于英语和语音学的有趣文章 - 并希望了解我的新知识是否可以应用于TSQL中以生成模糊结果集。在我的一个应用程序中,有一个包含单词的表格,我从单词列表中提取。这是名副其实的一列的表 -从声音相似的表格中选择单词

Word | 
------ 
A 
An 
Apple 
... 
their 
there 

有没有在SQL Server中的内置函数选择哪个听起来同样的,即使它的拼写不同的词? (全球化设置上en-ZA - 因为我最后一次检查)

SELECT Word FROM WordTable WHERE Word = <word that sounds similar> 

回答

2

SoundEx()

SOUNDEX转换的字母数字字符串到四个字符的代码是基于怎样说话时的弦音。

Difference()

返回整数值,指示两个字符的表达式的SOUNDEX值之间的差。

SELECT word 
    , SoundEx(word) As word 
    , SoundEx(word_that_sounds_similar) As word_that_sounds_similar 
    , Difference(SoundEx(word), SoundEx(word_that_sounds_similar)) As how_similar 
FROM wordtable 
WHERE Difference(SoundEx(word), SoundEx(word_that_sounds_similar)) <= 1 /* quite close! */ 

通过​​返回的值表示这两个词的相似程度。

的值表示强匹配和的值意味着苗条到不匹配。

+0

这是坏蛋。这段代码奏效了,我的智力数据获得了+1。谢谢 – Eon 2014-10-08 13:02:06

+0

几乎忘记标记为答案:) – Eon 2014-10-08 13:22:22

相关问题