1-1-1-111
1-1-1-222
2-1-2-1901
4-1-1-1
42-98-78-221
3-4-1
5-6-7上面的数据,如何取出最后一个 '-' 后面的数据,多谢!charindex好象只能取出第一个'-'出现的位置

解决方案 »

  1.   

    declare @sql varchar(100)
    set @sql ='aaa-bbb-Xcccd'
    select reverse(substring(reverse(@sql),0,charindex('-',reverse(@sql))))
    Xcccd
      

  2.   

    declare @sql varchar(100)
    set @sql ='aaa-bbb-Xcccd'
    select reverse(substring(reverse(@sql),1,charindex('-',reverse(@sql))-1))
      

  3.   

    declare @s varchar(50)
    set @s='2-1-2-1901'
    select  REVERSE(left(REVERSE(@s),charindex('-',REVERSE(@s))-1))
    --结果
    1901