例如,假设DB中有一个随机字符串:APKHDP
我想搜索所有包含PHP字符的字符串(按顺序)。所以我搜索PHP,它会返回上面的字符串。或者我搜索HPP,结果一无所获。
有没有一个简单的解决方案可以实现这一点,也许可以使用REGEX?听起来很简单。但到目前为止,我发现的asnwer非常复杂。
我正在将其与PHP一起使用(因此是示例!),如果这是最好的方法,我很乐意将PHP集成到解决方案中。
SELECT * FROM table WHERE text_field REGEXP '.*P.*H.*P.*'
医生。
使用MySQL正则表达式-您可以匹配事物,但不能替换-例如:
选择"APKHDP"REGEXP("[PHP]')
返回"1"(即正则表达式与字符串匹配)。
尽管上面的正则表达式可能不适合您的需要(它与字母p、H和p的任何使用相匹配),但您必须对此进行调整。
您可以使正则表达式更加复杂,也可以进行多次匹配:
SELECT field FROM TABLE WHERE field REGEXP(match1) AND field REGEXP(match2)..etc
无论你觉得哪一个最简单。。。
链接:REGEXP 的MySQL手册
SELECT *
FROM `COLUMNS`
WHERE `TABLE_NAME`
REGEXP 'APKHDP'