首页 > 解决方案 > 选择喜欢但作为分隔符之间的整个字符串

问题描述

专栏tags

sky***earth***moon  
sun***animals***iron  
silver***gold***night

***- 是不同标签的分隔符

我想按字符串搜索该列anima

$sql = "select * from images where tags like '%anima%'";

它给了我animals结果,但我需要anima整个字符串,由***.

在上面的示例中,结果应该为零。

有什么帮助吗?

标签: phpmysql

解决方案


使用REGEXP和搜索anima被单词边界包围:

SELECT *
FROM images
WHERE tags REGEXP '[[:<:]]anima[[:>:]]';

按照下面的链接进行演示,该演示表明逻辑是正确的。

演示

文档

REGEXP 和 RLIKE 是 REGEXP_LIKE() 的同义词。

所以我们也可以使用RLIKE而不是REGEXP.


推荐阅读