我在MySQL数据库中的字符串中存储了各种数字,即“5,15,21”。 如果我搜索数字“5”,我希望脚本向我显示该行,但不包含其中有15个(当不存在“5”时)的行。这就是为什么我不想使用SELECT * FROM table WHERE cell LIKE '%5%'
。 可以使用什么reg表达式来定位特定的数字。字符串中的数字正则表达式搜索
1
A
回答
1
这里的替代正则表达式的解决方案:
SELECT * FROM table WHERE cell RLIKE '[[:<:]]5[[:>:]]'
[[:<:]]
& [[:>:]]
字界限,WHI CH这里指5不会匹配,除非它是“独”(没有其它数量的部分),无论是现在的位置
+1
工程很好,这就是我所追求的解决方案。谢谢! – Leveller
2
你应该使用逗号分隔符为5之间做区分,和第5的第15部分:
SELECT * FROM table WHERE concat(',' , cell, ',') LIKE '%,5,%'
的concat()
用于处理案件5是在列表中的第一个或最后一个
+0
有些行只有一个数字,没有逗号 – Leveller
+0
@Leveller - 它也可以工作在'5'这样的行上,concat处理它 –
0
mysql> SELECT FIND_IN_SET('5', '1,5,15'), FIND_IN_SET('5', '15,25');
+----------------------------+---------------------------+
| FIND_IN_SET('5', '1,5,15') | FIND_IN_SET('5', '15,25') |
+----------------------------+---------------------------+
| 2 | 0 |
+----------------------------+---------------------------+
相关问题
- 1. 正则表达式搜索字符串?
- 2. 正则表达式从字符串搜索一个数字
- 3. 搜索正则表达式中的任何字符串列表
- 4. 正则表达式 - 使用正则表达式在另一个字符串中搜索特定的字符串
- 5. 正则表达式检索字符串中的字符串
- 6. 正则表达式搜索文本中的字符串
- 7. 在Java中的正则表达式字符串搜索
- 8. 插入字符串中的正则表达式搜索C#
- 9. 在正则表达式中搜索字符串的结尾
- 10. 正则表达式.Net搜索字符串在字符串中的位置
- 11. 正则表达式检索字符串
- 12. 正则表达式检索字符串
- 13. 用jmeter中的正则表达式搜索特定字符串中的数字
- 14. 正则表达式来搜索特定字符串未知数
- 15. 正则表达式数字搜索
- 16. 用正则表达式检索字符串中的数字
- 17. 正在使用正则表达式搜索字符串
- 18. 使用正则表达式在VS2010中搜索字符串
- 19. 正则表达式搜索,如“$ 12,56,45”字符串中使用C#
- 20. 在Python中使用正则表达式搜索字符串
- 21. 在MongoDB中加速正则表达式字符串搜索
- 22. 正则表达式:在搜索中包含文本字符串
- 23. Perl追加正则表达式到搜索字符串模式
- 24. Javascript:字符串搜索正则表达式,从字符串的末尾开始
- 25. 正则表达式npp - 由两个字符串包围的搜索字符串
- 26. Python的正则表达式搜索字符串
- 27. 正则表达式拆分引用的搜索字符串
- 28. 逻辑搜索字符串的正则表达式
- 29. Python的正则表达式搜索忽略字符串
- 30. 正则表达式搜索所有出现的字符串
如果可能的话,做**不**在同一领域存储多个值。数据标准化存在的原因。 –
有没有在目标字段中有“1,5,15”,“5,10”,“5”,“1,12,15”这样的值? – RomanPerekhrest
我用它来做我的DNA研究。该字段显示我与另一个人匹配的染色体。所以,如果我寻找与第5号染色体共享DNA的匹配,我只想展示那些。不是在15号染色体上共享DNA的人。但有时在多个染色体上有较大的匹配。这就是为什么我将它们存储在一个字段中,并用逗号分隔的原因。 – Leveller