如何使用mysql检查字段中的整数值

如何使用mysql检查字段中的整数值,mysql,Mysql,我在一个表中有一个varchar类型的字段,其值与 红衣主教-245-brown-94581 阿迪达斯-men-agora-93945 童鞋 在这里,我只需要得到以hypen结尾,后跟整数ex(“-94581”,“-93945”)的值 mysql中是否有任何方法可以得到这样的结果使用操作符代替像这样的。这应该起作用: SELECT * FROM table WHERE foo RLIKE '.*-[[:digit:]]*$' 可能是这样的: select substr(searchfield

我在一个表中有一个varchar类型的字段,其值与

  • 红衣主教-245-brown-94581
  • 阿迪达斯-men-agora-93945
  • 童鞋
  • 在这里,我只需要得到以hypen结尾,后跟整数ex(“-94581”,“-93945”)的值

    mysql中是否有任何方法可以得到这样的结果

    使用操作符代替像这样的
    。这应该起作用:

    SELECT * FROM table WHERE foo RLIKE '.*-[[:digit:]]*$'
    
    可能是这样的:

    select  substr(searchfield,locate('_',searchfield)) as extractedfield from 
    mytable where substr(searchfield,locate('_',searchfield)) > 0;
    

    你可以使用切割
    X
    chars从字符串的末尾,就像skowron线所说的那样+1@skowron-行:这不检查numbers@juergend它不是数字,他有varchar字段,剪切后它仍将是字符串,子字符串_索引将不会将其强制转换为number@skowron-线路:是的。他想检查字符串末尾的数字,而substring()不能。这一个对我有用,只需稍加修改,就可以从表中选择*,其中foo-RLIKE.*-[:digit:]{3,}$'