比如表 table1 里 列 DzID 数据是"--/SY/0352/0357“在查询的时候,截取DzID的数据 和其他去比较
select * from table1 where DzID.截取 = '0357'要截取字符串 某个符合要求字符 最后一个字符后的字符串,"--/SY/0352/0357“ 截取后要0357oracle里能不能实现

解决方案 »

  1.   


    --暂时只想到这个笨办法..看楼下大神
    SELECT substr( DzID
                  ,instr(DzID,'/',-1) + 1
                  ,(length(DzID) - instr(DzID,'/',-1))
                  )
      FROM table
      

  2.   

    SELECT regexp_substr('--/SY/0352/0357','[[:digit:]]+$') FROM dual;[[:digit:]]  匹配数字
    + 匹配出现一次或者多次
    $ 匹配字符串的结尾
      

  3.   


    --第三个参数可以省略.
    SELECT substr( DzID ,instr(DzID,'/',-1) + 1) 
      FROM table1
      

  4.   

    如果后面字符长度是固定的 直接截取后4个substr(DzID,-4) 不是就用上面的方法