这样吗?declare @aa varchar(100),@bb int,@cc int
set @aa='aaaa-bb-ca s a'set @bb=0
set @cc=charindex('-',@aa)
select substring(@aa,@bb,@cc-@bb)
while @cc>0
begin
  set @bb=@cc+1
  set @cc=charindex('-',@aa,@bb)
  select substring(@aa,@bb,case when @cc>0 then @cc-@bb else len(@aa) end)
end

解决方案 »

  1.   

    你可以先翻转再patindex呀
    patindex('%ffff%',reverse(field1))
      

  2.   

    select patindex('%a%',reverse('xddabacac'))
    结果为2
    select patindex('%a%','xddabacac')
    结果为4
      

  3.   

    受小馬哥提示,大家看看我寫的
    reverse(substring(reverse(字段),1,charindex('-',reverse(字段))-1))
    以上語句得到
    1-332-0565      0565
    2-365-36          36
    如果用這樣的語句更新50000條記錄,性能會不會很低
      

  4.   

    你可以先翻转再patindex呀
    这样最简单