首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅用于字母数字的匹配字段

仅用于字母数字的匹配字段
EN

Stack Overflow用户
提问于 2011-06-24 09:12:04
回答 3查看 132关注 0票数 0

假设我有一个纯字母数字字符串("abc123"),我想看看它是否在数据库列中,但有一个警告--我希望在比较中忽略所有非字母数字字符。例如,"abc~!@#$%^&*()123“将匹配。

在MySQL中有没有一种简单的方法可以做到这一点,最好不用定义任何函数?我在想,也许可以使用REGEXP进行比较。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-25 02:50:07

用这个正则表达式解决了这个问题..

代码语言:javascript
复制
$regexp = implode('[^0-9a-zA-Z]*', str_split(remove_nonalphanums($word)));

然后我做The_Column REGEXP $regexp

票数 0
EN

Stack Overflow用户

发布于 2011-06-24 09:31:59

如果您的表很大,那么在列上执行任何函数都将导致表扫描。创建另一个仅包含alnum字符的列,然后与之进行直接比较如何?

票数 0
EN

Stack Overflow用户

发布于 2011-06-26 08:26:50

如果这是您经常要做的事情,那么为您的“标准化”字符串添加一个新列,并在该列上进行搜索。在数据库中执行正则表达式匹配很方便,但效率非常低。最好只是在客户机上标准化你的搜索,并使用一点额外的数据库空间。

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

https://stackoverflow.com/questions/6462313

复制
相关文章

相似问题

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