在SQL'中包含拼写检查;比如';

在SQL'中包含拼写检查;比如';,sql,sql-like,Sql,Sql Like,我正在使用sql“like”按流派搜索歌曲。像 select * from songs where genre like %hip-hop% 搜索栏将接收“嘻哈” 但是如果用户不小心写了“jip jop”,那对“hip-hop”就不起作用了。即使在那时,我也希望它能起作用。 如何实现这一点?您正在寻找 这里提供了一个SQL实现 还有一个SQLite函数可以做到这一点编辑区3 但是,您必须小心,因为从hip-hop到jip-jop的编辑距离是2,从pop到rap的编辑距离也是2。您应该先尝试一下

我正在使用sql“like”按流派搜索歌曲。像

select * from songs where genre like %hip-hop%
搜索栏将接收“嘻哈”

但是如果用户不小心写了“jip jop”,那对“hip-hop”就不起作用了。即使在那时,我也希望它能起作用。 如何实现这一点?

您正在寻找

这里提供了一个SQL实现

还有一个SQLite函数可以做到这一点<代码>编辑区3


但是,您必须小心,因为从
hip-hop
jip-jop
的编辑距离是2,从
pop
rap
的编辑距离也是2。

您应该先尝试一下……只是一个提示:计算“距离”从每个单词/句子到您要查找的内容。也许您应该让用户从类型列表中进行选择,而不是将它们作为自由文本键入。@RobertHarvey我发现问题非常清楚,尽管可能有点广泛。请选择哪个数据库。在你的位置上多做点调查。。。我更改like->like操作符,好吗?如果我在hip-hop jip jop示例中编写编辑距离3而不是2,会发生什么情况?它不会工作吗?通常,您将在编辑距离中测试阈值。例如,可以匹配距离小于2的任何对象。因此,我提到了这个问题。一种常见的解决方案是根据查询或结果的大小进行规范化,并将阈值设置为一个百分比