表中的某列中有出现数据显示为:466,468,469,471,473,,,,,,,641,,,9,,,759,768,,,,,834,,839,请问能不能用语句把这些逗号去掉就留一个即:466,468,469,471,473,641,9,759,768,834,,839
  那位帮我下...谢谢

解决方案 »

  1.   

    DECLARE @STR NVARCHAR(200)
    SET @STR='466,468,469,471,473,,,,,,,641,,,9,,,759,768,,,,,834,,839,'WHILE CHARINDEX(',,',@STR)>1
    BEGIN
        SELECT @STR=REPLACE(@STR,',,',',')
    ENDSELECT @STR
    SELECT LEFT(@STR,LEN(@STR)-1)
      

  2.   

    replace(字段 , ',,' , ',')
    一直做下去,直到结束.
      

  3.   

    DECLARE @STR NVARCHAR(200)
    SET @STR='466,468,469,471,473,,,,,,,641,,,9,,,759,768,,,,,834,,839,'WHILE CHARINDEX(',,',@STR)>1
    BEGIN
        SELECT @STR=REPLACE(@STR,',,',',')
    ENDSELECT @STR
    SELECT LEFT(@STR,LEN(@STR)-1)正确
      

  4.   

    replace(字段 , ',,' , ',')
      

  5.   

    谢谢..好了.就
    UPDATE TB
    SET COL = replace(COL, ',,', ',')
    UPDATE TB
    SET  COL= replace(COL, ',,,', ',')
    UPDATE TB
    SET  COL = replace(COL, ',,,,', ',')
    UPDATE TB
    SET  COL = replace(COL, ',,,,,', ',')
    反复几遍就OK了....