'/Upload/ProductPic/2011053114572426563053.jpg'
变成'/Upload/ProductPic/2011053114572426563053m.jpg'
就是多加了一个'm'字符

解决方案 »

  1.   

    UPDATE tb
    SET col = REPLACE(col, '.jpg', 'm.jpg')
      

  2.   

    写个有趣点的
    stuff(字段,len(字段)-3,0,'m')
      

  3.   

    不好意思,可能需要定义一下规则.因为jpg这样的拓展名可能会不一样.需要在最后的.上加上m,其它的都不变.
    sql里是否有lastIndexOf('.')这样的函数获取下标?
      

  4.   

    UPDATE tb
    SET col = REPLACE(col, '.', 'm.')
      

  5.   

    update tb set col = REPLACE(col, '.jpg', 'm.jpg')
      

  6.   

    没有lastIndexOf这样的函数,不过你可以先把字符反转过来,查找.的位置,这样就知道.的位置了
    declare @str varchar(50),@len int,@pos int
    set @str='/Upload/ProductPic/2011053114572426563053.jpg'
    set @len=len(@str)
    set @pos=charindex('.',reverse(@str))
    select @str,left(@str,@len-@pos)+'m'+right(@str,@pos)