我当前的查询如下所示:
$query = "SELECT * FROM t WHERE (data LIKE '$findme') OR (data LIKE '%$findme|%') OR (data LIKE '%|$findme%')";
此列中的数据包含由竖线符号 ("|") 分隔的项目,我需要查询来查找包含该字段中出现的任何项目的所有记录。另外,如果此列中只有一项,则不会有“|” 存在的符号。
例子:
$findme = "12";
查询应该匹配:
13|23|12
12
12|23
3|12|42
查询不应该匹配:
123|32
34|123
我不确定使用 REGEXP 是否会使这更容易,但如果是这样,任何解决方案都是受欢迎的。谢谢!
SQLFiddle 示例: http ://sqlfiddle.com/#!3/32afd/5