比方说,您在数据库中有一个随机字符串: APKHDP
我想搜索包含PHP字符的所有字符串(按此顺序)。所以我搜索PHP并返回上面的字符串。或者我搜索HPP,它什么都不返回。
是否有一个简单的解决方案可以实现这一点,也许使用REGEX?听起来很简单。但到目前为止,我所发现的相关数据非常复杂。
我正在使用PHP(因此示例!),如果这是最好的前进方式,我很乐意将PHP集成到解决方案中。
答案 0 :(得分:3)
SELECT * FROM table WHERE text_field REGEXP '.*P.*H.*P.*'
doc。
答案 1 :(得分:2)
使用MySQL正则表达式 - 您可以匹配但不能替换 - 例如:
SELECT'APKHDP'REGEXP('[PHP]')
返回'1'(即正则表达式与字符串匹配)。
虽然上面的正则表达式可能不符合你的需要(它匹配字母P,H和P的任何使用),所以你必须调整它。
你可以让你的正则表达式更复杂,或者你可以做多个匹配:
SELECT field FROM TABLE WHERE field REGEXP(match1) AND field REGEXP(match2)..etc
对你来说哪个最简单......
答案 2 :(得分:0)
SELECT *
FROM `COLUMNS`
WHERE `TABLE_NAME`
REGEXP 'APKHDP'