这个sql如何写 
在一个字段值里 类似
participant_223
pasds_2232323
sdsfsd_1212
.......注意到没有都是一个字段串 再加上一个_ ,最后是一串数字
我现在仅仅只要最后的 数字。这个sql如何写, 可以用substring()

解决方案 »

  1.   

    假设字段名为field1:
    select right(field1,char_length(field1)-instr(field1,'_')) from tb_name
      

  2.   

    或:
    select  right(field1,instr(reverse(field1),'_')-1) from tb_name;
      

  3.   

    也可以这样写:select substring(field1,instr(field1,'_')+1,char_length(field1)-instr(field1,'_')) from tb_name;或
    select reverse(substring_index(reverse(field1),'_',1)) from tb_name;
      

  4.   

    mysql> SELECT SUBSTRING_INDEX('pasds_2232323', '_', -1);
    +-------------------------------------------+
    | SUBSTRING_INDEX('pasds_2232323', '_', -1) |
    +-------------------------------------------+
    | 2232323                                   |
    +-------------------------------------------+
    1 row in set (0.09 sec)mysql>