首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询字符串包含相反的

问MySQL查询字符串包含相反的
EN

Stack Overflow用户
提问于 2013-10-29 22:01:05
回答 2查看 314关注 0票数 1

MySQL查询字符串包含

你好,我正在尝试做一个mysql查询,它查找一个列值,其中包含我设置的主字符串中的一个字符串。因此,如果我的主字符串是'1234567',我希望它返回具有'1‘、'2’等列值的任何结果.上面的链接非常接近我所能找到的,但我需要它在相反的方向上进行比较。

例如:

代码语言:javascript
复制
WHERE '%{$needle}%' LIKE `column`
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-29 22:26:47

怎么样

代码语言:javascript
复制
WHERE ? LIKE CONCAT('%', `column`, '%')

其中?是具有主值(1234567)的绑定参数的占位符,因为使用的是PDO或MySQLi扩展,对吗?

当然,您肯定没有使用不受欢迎的MySQL扩展。

票数 0
EN

Stack Overflow用户

发布于 2013-10-29 22:22:55

您对各种值的存储位置有点模糊(您的文本使用“主字符串”之类的术语,但是示例代码使用不同的名称)。

你可以用regexp做你想做的事。下面是一个示例:

代码语言:javascript
复制
select 'abcd6efg' regexp concat('.*[', '1234567', '].*')

老实说,regex在一个重要方面与like不同。如果左字符串的任何部分匹配,regex返回true,而对于like,整个字符串必须匹配。因此,以下工作也是有效的:

代码语言:javascript
复制
select 'abcd6efg' regexp concat('[', '1234567', ']')

我喜欢使用显式通配符,以避免在两者之间切换时出现错误。

您可以查找正则表达式这里的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19670023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档