在 SQL Server 上逐字使用 SOUNDEX()

2023-11-27

这是我的问题。例如我有一张桌子Products包含一个字段,Name:

Products
ID | Name | ..
1  | "USB Key 10Go"
2  | "Intel computer"
3  | "12 inches laptop computer"
...

我目前正在为 iPhone Web 应用程序实现一个简单的搜索引擎(SQL Server 和 ASP .NET、C#),我想使用SOUNDEX()SQL Server 功能。

问题是我不能直接使用SOUNDEX on the Name场地。 (这无关紧要,因为名称中有几个单词。)我想应用SOUNDEX函数到每个单词Name字段,然后查看其中是否有任何与研究的关键字匹配。

如果有人知道如何做到这一点,那就太棒了。


您可能最好计算两个字符串之间的 Levenshtein 距离,而不是使用 Soundex。看维基百科关于编辑距离的文章.

有 Levenshtein 距离算法的 TSQL 实现here.

分享并享受。


编辑 2012 年 5 月 3 日

自从写下我最初的回复以来,我了解到 Oracle 在 UTL_MATCH 包中包含 Levenshtein 距离和其他几个“字符串相似度”函数,我认为这是数据库的标准部分。文档here。也许与原始帖子(针对 SQL Server)没有直接关系,但可能很有用,因为许多商店使用多个数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL Server 上逐字使用 SOUNDEX() 的相关文章

随机推荐

  • 标签、复选框和单选按钮

    我的网络应用程序使用如下例所示的表单 First Name Last Name Gender Male Female 我使用的标记类似于
  • 隐藏 Android 键盘按键预览

    我想要做的是仅隐藏显示您在使用软键盘时当前按下的键的弹出窗口 这可能吗 我正在创建自己的新键盘 不需要它们 据我所知 下图是实际的弹出键盘 您可以选择使用它来显示android popupKeyboard and android popup
  • 在javascript中获取DIV的宽度和高度

    我试图在用户更改时获取 div 宽度和高度 并将该数字提交到另一个页面 我似乎不知道如何获得宽度和高度
  • 如何在 Scala 中对可变长度的重复序列进行分组

    我有一个以某种模式重复的整数集合 val repeatingSequence List 1 2 3 1 2 3 4 1 2 1 2 3 4 5 当模式重复时 我想将该列表分段 在这种情况下 当序列返回到 1 时 val groupedByS
  • 使用 Kubernetes kubeadm 和 minikube 在虚拟机中创建节点

    我正在尝试使用同一台机器创建具有不同数量节点的 Kubernetes 集群 在这里 我想创建单独的虚拟机 并需要在这些虚拟机中创建节点 我目前正在探索 kubeadm 和 minikube 来完成这些任务 在探索的过程中 我有以下困惑 我需
  • 如何将一个元素移动到另一个元素中

    我想将一个 DIV 元素移动到另一个 DIV 元素中 例如 我想移动这个 包括所有孩子 div div 进入这个 div div 这样我就有了这个 div div div div 您可能想使用appendTo函数 添加到元素的末尾 sour
  • Express Node.js 不起作用

    我在 ubuntu 12 04 上安装了express 4以及node js npm和express generator 并使用以下命令创建了一个应用程序 express test hogan c less cd test npm inst
  • SearchBuf soWholeWord 意外输出

    测试时StrUtils SearchBuf with soWholeWord soDown 选项 出现了一些意想不到的结果 program Project1 Uses SysUtils StrUtils function WordFound
  • Azure Functions:绑定到 DocumentClient 与静态实例 - 推荐什么?

    我知道如何将查询直接绑定到 Azure 函数并在函数中使用 Cosmos DB 触发器 但是 我正在寻找使用方向DocumentClient 努吉特包Microsoft Azure Cosmos 直接地 There s 文档这解释了如何在执
  • 实现“show”函数

    我想实施show 二元 函数的方法并使其能够区分内函子 a gt a 类似于伪 Haskell 代码 instance Show a gt b where show fun lt
  • jquery:如何更新可拖动克隆ID?

    我想将可拖动项目添加到可排序列表中 这在我的示例中运行良好http jsbin com ipese5 35 问题是我想在拖动到可排序列表时更新克隆项目的 id 奇怪的是 下面的代码将 de ui 对象中的 id 更新为 new id 正如我
  • 将 RTF 文本从数据库加载到 TRichEdit

    我目前正在将我们的软件解决方案从 Delphi 7 迁移到 2010 大部分更改都很简单 只剩下少量障碍 在表单上 我们使用 TRichEdit 它显示从 MSSQL 数据库中的 blob 字段抓取的 rtf 文本 Delphi 7 中是这
  • 如何在常规管道作业中触发多分支管道 Jenkins 作业?

    我想触发特定的多分支管道作业 maven 发布 工作流程 测试 特定分支 在常规管道作业中 是否有我需要指定的特殊 build 命令模式 代码片段生成器仅打印 没有这样的工作 maven release workflow test 通过反复
  • 根据元素在另一个已排序列表中的位置对 python 中的列表进行排序

    我想根据预先排序的列表对 Python 中的列表进行排序 presorted list 2C 3C 4C 2D 3D 4D unsorted list 3D 2C 4D 2D 我该如何排序unsorted list使得这些值以相同的顺序出现
  • Angular 6 HTML选择菜单设置默认值

    我习惯了旧的 AngularJS 方式来选择菜单和选择默认值等 但我很难理解如何在 Angular 中执行此操作 6 我有一系列菜单项 fontChoices label Trebuchet value Trebuchet MS Helve
  • Updatepanel 提供完整回发而不是异步回发

    我遇到了一个似乎非常著名的问题 我的 updatepanel 触发完整回发而不是异步回发 正常的解决方案是为所有动态添加的控件提供一个 ID 我已经这样做了 但我仍然得到完整的回发而不是异步回发 这是代码 HTML
  • 如何在 matplotlib 中绘制 3D 旋转图?

    假设您有一条 2D 曲线 例如 from matplotlib import pylab t numpy linspace 1 1 21 z t 2 pylab plot t z 产生 我想进行一场革命来实现 3d 绘图 参见http re
  • 如何在Android项目中使用ThreeTenABP

    我使用的是 Android Studio 2 1 2 我的 Java 设置如下 gt java version gt openjdk version 1 8 0 91 gt OpenJDK Runtime Environment build
  • Linq to Entities 中的动态 where 子句

    我正在使用 linq toEntity EF 我有一个带有 4 个字符串参数的构造函数 根据哪个参数不为空 我必须构建 linq 查询 我可以使用 if else 语句 但我还有其他带有 10 个参数的构造函数 在这种情况下 将会有很多组合
  • 在 SQL Server 上逐字使用 SOUNDEX()

    这是我的问题 例如我有一张桌子Products包含一个字段 Name Products ID Name 1 USB Key 10Go 2 Intel computer 3 12 inches laptop computer 我目前正在为 i