首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到更相似的相似词

如何找到更相似的相似词
EN

Database Administration用户
提问于 2013-05-11 17:22:40
回答 2查看 4.5K关注 0票数 0

如何找到长度小于或等于.

代码语言:javascript
复制
  declare @inp nvarchar(max),@data nvarchar(max)
  set @inp='You can dance, you can jive, having .... jove... jve, ...' 
  set @data = 'jeve'
  select @inp as results where @inp like '%' + @data +'%'

@inp不返回任何数据,但我想显示:

代码语言:javascript
复制
results 
=====
jive
jove
jve
EN

回答 2

Database Administration用户

回答已采纳

发布于 2013-10-08 22:43:02

我从来没有想过SOUNDEX差别化有那么大的用处,而且现在它们肯定有点过时了。但是,我们可以将它与全文解析器结合起来,它实际上回答了这个查询。注意search语句中的额外引号:

代码语言:javascript
复制
DECLARE @inp NVARCHAR(MAX), @data NVARCHAR(MAX)
SET @inp= '"You can dance, you can jive, having .... jove... jve, ..."' 
SET @data = 'jeve'

SELECT display_term, SOUNDEX(display_term) sdx
FROM sys.dm_fts_parser(@inp,0,0,0)
WHERE SOUNDEX(display_term) = SOUNDEX(@data)
 AND LEN(display_term) <= LEN(@data)

SELECT display_term, SOUNDEX(display_term) sdx, DIFFERENCE(display_term,@data) diff
FROM sys.dm_fts_parser(@inp,0,0,0)

对于这些函数,有一个相当有限的用例,所以如果您有更复杂的示例,那么它们可能不会扩展。不过值得一提的是。

票数 3
EN

Database Administration用户

发布于 2013-10-08 17:36:41

最好的选择不是T,而是CLR和正则表达式。

这是一篇让你开始学习的文章

如果这在纯that中是可能的,那么它将需要更多具体的规则来描述什么代表匹配,以及哪些不是,不幸的是,您的用例没有指定。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/41982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档