mysql - 如何在mysql中使用正则表达式搜索行中大于x的值

标签 mysql regex

我有以下列表:

  • CENTURYLINK纯宽带8M
  • CENTURYLINK纯宽带8M
  • CENTURYLINK纯宽带8M
  • CENTURYLINK 高速互联网 20M/896K
  • CENTURYLINK 高速互联网 12M/896K
  • CENTURYLINK 高速互联网 7M/896K
  • CENTURYLINK 高速互联网 12M/896K
  • CENTURYLINK 高速互联网 7M/896K
  • CENTURYLINK 高速互联网 12M/896K

我需要检索所有网速大于8M的行。我正在使用以下查询

SELECT * FROM century_link.orderdetail where offer_name REGEXP '([1-8]\d+|8)'

上面的选择返回大于8M的速度,但是如果你看到我有一行是7M/896K,但是这一行无法返回,因为7M小于8M。

如何更改我的选择以避免返回这一行?

感谢任何帮助。

谢谢。

最佳答案

这里的问题是:

正则表达式匹配数字 896。

这个可能会更好: ([1-8]\d+M|8M|9M)

你可以玩一下这个:http://regex101.com/

关于mysql - 如何在mysql中使用正则表达式搜索行中大于x的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413142/

相关文章:

php - 如何从查询中的日期转换时间?

php - 将 selectmenu 初始化为特定值的方法?

javascript - 阿拉伯语语言的正则表达式

PHP + MySQL 循环队列

mysql - 无法创建表 - 无法添加外键约束

mysql如何从表A中选择项目,其中表B中的所有对应项目都满足条件

java - 正则表达式,字符串到 float ,去掉其他字符

regex - Elixir中的RegEx捕获组

r - 在 R 中提取最后一个数字及其尾随文本

java - 正则表达式 - 如何确保两个字符之间或从开始到某个字符之间仅出现 1 个字符实例