H2 数据库中的模糊匹配?

发布于 2025-01-08 14:11:19 字数 170 浏览 1 评论 0原文

我只是想知道是否有一种简单的方法可以使用 H2 数据库实现字符串的模糊匹配。 我在数据库中有一个名称列表,我希望能够使用 3 个字符来搜索它们,这些字符可以按照输入 3 个字符的顺序在名称中的任何位置找到。

我不确定这是否可能这样做,但如果可以通过 SQL 而不是 Java 在数据库中完成,事情会变得更容易

I was just wondering if there was a simple way to implement Fuzzy matching of strings using the H2 Database.
I have in the database a list of names and I want to be able to search through them using 3 characters that may be found anywere in the name in the order the 3 characters are typed in.

i'm not sure if that's even possible to do, but it would make life much easier if it were possible to be done in the database via SQL and not Java

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

緦唸λ蓇 2025-01-15 14:11:19

您可以使用

select * from test where name like '%xyz%'

另请参阅LIKE 文档

另一种选择是使用SOUNDEX

select * from test where soundex(name) = soundex('word')

在这两种情况下,都不能使用索引。这意味着如果表中有很多行,查询就会很慢,因为必须检查每一行。

You could use

select * from test where name like '%xyz%'

See also the documentation of LIKE.

Another option is to use SOUNDEX:

select * from test where soundex(name) = soundex('word')

In both cases, an index can not be used. That means the query is slow if there are many rows in the table, as each row must be checked.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文