如何仅使用mySQL数据库查找与给定字符串最匹配的记录?

时间:2019-01-14 13:07:04

标签: mysql

我很难解决这个问题,所以我来这里寻求帮助。

我有一张表 x_25_operators ,其中有一个名为 mask 的字段。 掩码是长度在7到11位数字之间的数字。我要在这里实现的目标是在此特定表中找到与我的查询最匹配的内容。

给出场景:

x_25_operators

| some_other_data | mask
         .          486737
         .          616724
         .          915776

我有一个电话号码:48915776148(此号码是固定长度,始终为11位数字)

我正在寻找一个查询,该查询将返回包含 mask 915776的行(或与该搜索的数字相匹配的所有行,因为过滤出最匹配的一个应该是小菜一碟)。

我当时在考虑使用 Like 作为过滤器,但是这样的查询:

SELECT * FROM x_25_operators WHERE mask LIKE '48915776148'

返回一个空查询(应该很明显)。

我正在使用mySQL数据库。

任何想法如何解决此类问题?我愿意接受任何建议。

1 个答案:

答案 0 :(得分:1)

您可以使用LOCATE()

SELECT * FROM x_25_operators WHERE LOCATE(mask , "48915776148")

以下是更多信息:https://www.w3resource.com/mysql/string-functions/mysql-locate-function.php