http://www.hackhome.com/2005/1-15/22413898196.shtml

解决方案 »

  1.   

    print replace('11,74,88,788',',',char(13))/*
    11
    74
    88
    788
    */
      

  2.   

    http://www.cnblogs.com/microshaoft/archive/2005/05/10/152325.html
      

  3.   

    to  MorningTea(一勺抹茶) :
    你的方法不能用于针对表的select查询。
      

  4.   

    回复人: wgsasd311(自强不息) ( ) 信誉:100  2005-09-14 17:27:00  得分: 0  
     
     
       to  MorningTea(一勺抹茶) :
    你的方法不能用于针对表的select查询。
      
     
    --谢谢你的提醒,我已经知道我回答错了*_*
    好像出了写个函数没有见到有什么不一样的答案!
    就 vivianfdlpw() 贴出来的microshaoft的我都在n个帖子看到他贴了
    请问你有什么不一样的看法呀
      

  5.   

    哦。有回答了。我自己写了:
    DECLARE @t nvarchar(500),@temp nvarchar(50)
    DECLARE @LEN INT
    SET @T='aaf1,adfadsfsdf,asdfsa,4744'
    SET @LEN=charindex(',',@T) 
    WHILE (@LEN>0)
    BEGIN
    SET @LEN=charindex(',',@T)
    SELECT @temp=substring(@T,0,@LEN)
    IF (LEN(@TEMP)>0)
    BEGIN
    SELECT @temp 
    END
    SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0)
    SELECT @T
    END
      

  6.   

    谢谢各位。不用复杂的。只要满足自己的需求就可以了。如下。
    DECLARE @t nvarchar(500),@temp nvarchar(50)
    DECLARE @LEN INT
    DECLARE @TABLE TABLE(A NVARCHAR(500))SET @T='aa中国f1,adfadsfsdf,asdfsa,4744'
    SET @LEN=charindex(',',@T) 
    WHILE (@LEN>0)
    BEGIN
    SET @LEN=charindex(',',@T)
    SELECT @temp=substring(@T,0,@LEN)
    IF (LEN(@TEMP)>0)
    BEGIN
    INSERT @TABLE VALUES(@TEMP)
    END
    SET @T=SUBSTRING(@T,@LEN+1,LEN(@T))IF (@LEN=0)
    INSERT @TABLE VALUES(@T)
    END
    SELECT * FROM @TABLE