一尘不染

MySQL-需要一个字符串中最大匹配字母的搜索结果

sql

嗨,我正在编写我自己的MySQL查询,在这里我需要记录的结果如下。

表格中的单词- ABC XYZ

我的字符串- ABC XYZQWER

当我如下运行查询时-

SELECT * FROM myTABLE where `column` LIKE 'ABC XYZQWER%';

我得到的结果是空的。我知道MySQL LIKE匹配字符串结果的事实。

我需要一种解决办法。

II使用“ ABC X”搜索了它-它给了我适当的结果。


阅读 138

收藏
2021-05-30

共1个答案

一尘不染

您可以使用以下功能LOCATE()

SELECT `column` 
FROM myTable
WHERE LOCATE(`column`, 'ABC XYZQWER') = 1;

只要ABC XYZ在名为的列中有一个值,column查询的结果将至少为:

+---------+
| column  |
+---------+
| ABC XYZ |
+---------+

寻找内部匹配

通过使用compare运算符,可以'BC'在搜索字符串中找到一个类似的匹配字符串。因此,WHERE子句将如下所示:'ABC XYZQWER'``>=

WHERE LOCATE(`column`, 'ABC XYZQWER') >= 1;
2021-05-30