您好,我正在编写自己的 MySQL 查询,我需要如下记录结果。
表格中的单词 - ABC XYZ
我的字符串 - ABC XYZQWER
当我按如下方式运行查询时 -
SELECT * FROM myTABLE where `column` LIKE 'ABC XYZQWER%';
我得到的结果是空的。我知道 MySQL LIKE 匹配字符串的结果。
我需要一种方法来解决这个问题。
我使用“ABC X”搜索它 - 它给了我一个正确的结果。
最佳答案
您可以使用函数LOCATE()
:
SELECT `column`
FROM myTable
WHERE LOCATE(`column`, 'ABC XYZQWER') = 1;
只要在名为column
的列中有一个值ABC XYZ
,查询的结果至少会是:
+---------+
| column |
+---------+
| ABC XYZ |
+---------+
寻找内在匹配
通过使用比较运算符 >=<,可以在搜索字符串
。所以 WHERE 子句看起来像这样:'ABC XYZQWER'
中找到类似 'BC'
的匹配字符串
WHERE LOCATE(`column`, 'ABC XYZQWER') >= 1;
关于MySQL - 需要字符串中最大匹配字母的搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27183303/