select replace(列名,'/','')
合计的要考虑一下

解决方案 »

  1.   

    如果一定要用SQL語句來做,會相當麻煩。
    正在測試中。
      

  2.   

    如果没猜错,表的这个字段应该是用‘//’来分隔五个数字,最后再取这五个数字的和。
    这样,操作如下:具体的内容如下,如果数据格式不对,还要再进行转换:Create Table #Temp(Rs Varchar(50))Insert Into #Temp
    Values('////1131.00////')
    Insert Into #Temp
    Values('2937.00////////')Insert Into #Temp
    Values('401.00//451.00//401.00////')
    Select Case  Right(Case Left(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),1) When '+' Then SubString(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),2,Len(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'))-1) Else Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+') End,1) When '+' Then Substring(Case Left(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),1) When '+' Then SubString(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),2,Len(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'))-1) Else Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+') End,1,Len(Case Left(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),1) When '+' Then SubString(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),2,Len(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'))-1) Else Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+') End)-1) Else (Case Left(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),1) When '+' Then SubString(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'),2,Len(Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+'))-1) Else Replace(Replace( Replace( Rs,'//','+'),'++','+'),'++','+') End) End
    From #Temp
      

  3.   

    思路是:
        先用“+”替代“//”,这样得到一个初始的结果。
        可能会有特殊情况,就是出现“++”、“+++”、“++++”这样的结果。
        此时,在外面在嵌套两层Replace(Rs,"++","+")就可以将结果变成数字和“+”的组合。
        最后再把首尾的“+”去掉却可!    不知道楼主的意图是不是如此。