使用MySQL搜索字符串中的字符

时间:2012-07-09 10:18:20

标签: php mysql search

比方说,您在数据库中有一个随机字符串: APKHDP

我想搜索包含PHP字符的所有字符串(按此顺序)。所以我搜索PHP并返回上面的字符串。或者我搜索HPP,它什么都不返回。

是否有一个简单的解决方案可以实现这一点,也许使用REGEX?听起来很简单。但到目前为止,我所发现的相关数据非常复杂。

我正在使用PHP(因此示例!),如果这是最好的前进方式,我很乐意将PHP集成到解决方案中。

3 个答案:

答案 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

对你来说哪个最简单......

链接:MySQL Manual for REGEXP

答案 2 :(得分:0)

SELECT * 
FROM  `COLUMNS` 
WHERE  `TABLE_NAME` 
REGEXP  'APKHDP'