我只是想知道是否有一种简单的方法可以使用 H2 数据库实现字符串的模糊匹配。我在数据库中有一个名称列表,我希望能够使用 3 个字符来搜索它们,这些字符可以按照输入 3 个字符的顺序在名称中找到。
我不确定这是否可行,但如果可以通过 SQL 而不是 Java 在数据库中完成,那会让生活变得更轻松
我只是想知道是否有一种简单的方法可以使用 H2 数据库实现字符串的模糊匹配。我在数据库中有一个名称列表,我希望能够使用 3 个字符来搜索它们,这些字符可以按照输入 3 个字符的顺序在名称中找到。
我不确定这是否可行,但如果可以通过 SQL 而不是 Java 在数据库中完成,那会让生活变得更轻松
你可以使用
select * from test where name like '%xyz%'
另请参阅LIKE 的文档。
另一种选择是使用 SOUNDEX:
select * from test where soundex(name) = soundex('word')
在这两种情况下,都不能使用索引。这意味着如果表中有很多行,则查询会很慢,因为必须检查每一行。