一尘不染

MySQL查询字符串包含

mysql

我一直在尝试找出如何使用MySQL进行查询的方法,该查询检查$haystack特定列中的值(字符串)是否包含某些数据(字符串$needle),如下所示:

mysql_query("
SELECT *
FROM `table`
WHERE `column`.contains('{$needle}')
");

在PHP中,该函数称为substr($haystack, $needle),因此可能:

WHERE substr(`column`, '{$needle}')=1

阅读 1958

收藏
2020-05-17

共1个答案

一尘不染

实际上很简单:

mysql_query("
SELECT *
FROM `table`
WHERE `column` LIKE '%{$needle}%'
");

%是用于设置任何字符(无,一个或多个)的通配符。请注意,这在非常大的数据集上可能会变慢,因此,如果数据库增长,则需要使用全文索引。

2020-05-17