数字字符串上带有通配符的 Mysql 查询
我正在尝试查询包含数字字符串的 mysql 表 (即“1,2,3,4,5”)。
我如何搜索它是否有“1”但没有“11”,记住如果是“9,10”“9%”不起作用?
固定的!
(field like '10' OR field like '%,10,%' OR field like '%,10' OR field like '10,%')
I am trying to query a mysql table which contains strings of numbers
(i.e. '1,2,3,4,5').
How do I search to see if it has '1' but not '11' bearing in mind if it is '9,10' '9%' doesnt work??
Fixed!
(field like '10' OR field like '%,10,%' OR field like '%,10' OR field like '10,%')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试函数 find_in_set
You could try the function find_in_set
您需要函数FIND_IN_SET。 顺便说一句,“9%”应该有效,如果该列包含您指定的值,您确定要查询吗
You need the function FIND_IN_SET. Btw, '9%' should work, if the column contains the values you specified, are you sure you're querying
标准 SQL 也可以做到这一点:
该表达式无法使用索引,因此随着表大小的增加,性能会迅速下降。
为了获得更好的性能,您的表应该正确标准化,例如
而不是
Standard SQL can do it as well:
This expression cannot make use of an index, therefore performance will degrade quickly as the table size rises.
For better performance your table should be properly normalized, e.g.
instead of