DECLAE @sqlstrset @sqlstr='+ isnull(box2,0) + isnull(box5,0) + isnull(box6,0) 'if CharIndex('+',@sqlstr)=1????????如何去掉字符串里的第一个字符呢?

解决方案 »

  1.   

    if CharIndex('+',@sqlstr)=1
     set @sqlstr=stuff(@sqlstr,1,1,'')
      

  2.   

    stuff(字符串,1,1,'')substring(字符串,2,len(字符串))
      

  3.   

    有多種方法
    1.STUFF函數
    删除指定长度的字符并在指定的起始点插入另一组字符。
        set @sqlstr=stuff(@strSql,1,1,'')
        struff(待處理字符串,截取的起始位置,截取的長度,插入的字符)2.substring
        set @sqlstr=substring(@strsql,1,len(substring))
    3.right+len
      RIGHT
      返回字符串中从右边开始指定个数的 integer_expression 字符。
    if CharIndex('+',@sqlstr)=1  LEN
      返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。  例子:
      set @sqlstr=right(@sqlstr,len(@sqlstr)-1)