一条数据 hello_1  nihao_22
这样就获取到 1 和 22 这两个数,前面的都去掉。

解决方案 »

  1.   

    如果是mysql,可以用replace:
    mysql> set @i:= 'hello_2';
    Query OK, 0 rows affected (0.00 sec)mysql> select replace(@i, 'hello_', '');
    +---------------------------+
    | replace(@i, 'hello_', '') |
    +---------------------------+
    | 2                         |
    +---------------------------+
    1 row in set (0.00 sec)
      

  2.   

    StringTokenizer tokens = new StringTokenizer(string, "_");
    tokens.nextToken() // 字幕部分
    tokens.nextToken() // 数字部分
      

  3.   

    主要看你在sql中还是在仅仅处理几条数据的情况,如果在sql中且数据比较多,用sql,如果是仅仅几条数据就用StringTokenizer的方式。顶上面
      

  4.   

    select substring(n1.name, InStr(n1.name,'_')+1, char_length(n1.node_name)) from table_name_XXX n1
    where n1.name like '%\_%' escape '\';
    这个是获取_下划线后面的一部分。内容。
    楼主可以试下,
    如果需要转换成数字,可以使用 cast 函数,进一步分析。