【问题标题】:Does MySQL support a number or digit wildcard pattern?MySQL 是否支持数字或数字通配符模式?
【发布时间】:2012-02-12 19:01:28
【问题描述】:

我想选择在某个字符后有数字的标题。示例:

SELECT * FROM table WHERE title LIKE '%- H(any number)'

如果该数字存在,我将如何选择此语句中的任何数字 1-10000000?

【问题讨论】:

标签: mysql variables select numbers


【解决方案1】:

使用a regular expression:

SELECT ...
  FROM table
 WHERE title REGEXP '- H([1-9][0-9]{0,6}|10000000)$'
;

【讨论】:

    【解决方案2】:
    SELECT * FROM table WHERE title REGEXP '.*- H[0-9]+'
    

    这似乎是您正在寻找的那种东西。

    【讨论】:

    • % 在LIKE 查询中也是如此。 @user989990:是的,这就是 + 的用途。
    • 我在测试查询中尝试过,它确实适用于像 20 这样的数字。感谢您的帮助。
    【解决方案3】:
    SELECT * FROM table WHERE title RLIKE '- H[:digit:]{1,7}$';
    

    会给你1-9999999

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 2013-01-28
      相关资源
      最近更新 更多