update @csdn
set Item =left(Item,6)时这样吗??!!

解决方案 »

  1.   

    左邊字符個數不固定,即有可能是
    BDN002,TW002
    也有可能是
    TY0,TS[2]
    CY2236,LL9
    LS[22],LG008
    ....
      

  2.   

    海兄,
    不是那樣。
    取字串的規則:
    若字串中含有","號,則先取第一個","號左邊的字串,然後再判斷是否還再含有[]符號,若有,則取"["號左邊的字符。
    IF 含有","號  THEN
      LEFT(字串,","左邊的字串)
      IF 字串含有"[]"號, THEN
           LEFT (字串,"["左邊的字符
         ELSE
           取左邊的字符
         END IF
      ELSE
         取左邊的字符
      END
    ELSE
      取左邊的字符
    END IF   
      
      

  3.   


    declare @i int
    set @i=0
    update @csdn set item='bdn'+right('000'+cast(@i as varchar(3)),3),@i=@i+1
      

  4.   

    j9988大哥,你看我的第二個回複,左邊的字符是無規則的。
    >>>左邊字符個數不固定,即有可能是
    BDN002,TW002
    也有可能是
    TY0,TS[2]
    CY2236,LL9
    LS[22],LG008
    ....
      

  5.   

    select 
    left(@csdn,
     min(charindex('[',@csdn+'['),  charindex(',',@csdn+',')) - 1
        )
      

  6.   

    Chiff(~o~) 
    語句不對,修改過結果也不正確。
      

  7.   

    update @csdn set item=substring(item,1,charindex('*',replace(replace(item+'*',',','*'),'[','*'))-1)
      

  8.   

    to.j9988(j9988) 
      搞掟了。3Q...
      

  9.   

    update @csdn set item=left(item,charindex('*',replace(replace(item+'*',',','*'),'[','*'))-1)
      

  10.   

    可能我误会了。
    请列出下列你要的结果集:abc[af]
    abc[af],sdf
    abc,sdf[sd]
    abc,sdf
      

  11.   

    N_chow(一劍飄香) :
    还不是向你学的!
      

  12.   

    看還有沒有其它方法:)to Chiff(~o~):
    你上面的例子,結果要求為:
    abc[af]        --->abc
    abc[af],sdf    --->abc
    abc,sdf[sd]    --->abc
    abc,sdf        --->abc
      

  13.   

    tryupdate @csdn set item = substring(item,1, patindex('%[^a-z0-9]%', item+',')-1)
      

  14.   

    UPDATE @Dcsdn SET Item =SUBSTRING('BDN',CHARINDEX('BDN',Item ),6) 
      

  15.   

    出丑了,sql没有这样的用法 select min(3,5)  --3
    :)
      

  16.   

    2 saucer(思归) 
     good.但我不敢確定客戶資料庫中的數據是否包含不是字母或數字的字符。
    2 gzhughie(hughie) 
     請看我的第二個回複。
      

  17.   

    then do something like (did not test, there might be errors)update @csdn set item = substring(item,1, patindex('%[,[]%', item+',')-1)
      

  18.   

    2 saucer(思归) 
      呵呵,真的不錯。謝啦。
      

  19.   

    update @csdn set item=left(item,charindex(',',replace(item+',','[',',')-1)