怎么写这个sql语句?

解决方案 »

  1.   

    update tb set col=left(col,len(col)-1) where charindex(',',col)>0
      

  2.   

    declare @str varchar(20)
    set @str='adf,eafd,ad,f'
    set @str=reverse(stuff(reverse(@str),charindex(',',reverse(@str)),1,''))
    select @str
      

  3.   

    --上面是更新的,这个是选择的
    select left(col,len(col)-1) as col from tb where charindex(',',col)> 0
      

  4.   


    declare @str varchar(100)
    select @str='adc,def,xy,sss'
    select stuff(@str,len(@str)-charindex(',',REVERSE(@str))+1,1,'')adc,def,xysssdeclare @str varchar(100)
    select @str='adc,def,xy,sss,'
    select stuff(@str,len(@str)-charindex(',',REVERSE(@str))+1,1,'')adc,def,xy,sss
      

  5.   

    try:CREATE TABLE #T(x nvarchar(50))
    INSERT INTO #T
    SELECT 'xcvdsx,sdfdsa,osou,ds,sdfw' UNION ALL
    SELECT 'xcvdsx,33,sd,sdfw' UNION ALL
    SELECT 'cxc' 
    SELECT * FROM #T
    DECLARE @X nvarchar(50)
    DECLARE @i intUPDATE #T SET @X=REVERSE(x),@i=CHARINDEX(',',@X),@X=CASE @i WHEN 0 THEN @x ELSE SUBSTRING(@x,1,@i-1)+' '+RIGHT(@x,LEN(@x)-@i) END
    ,x=REVERSE(@X)
    SELECT * FROM #TDROP TABLE #T