逗号分隔字符串转换为一张表--解决查询in(逗号分隔字符串)出错问题

CREATE PROCEDURE [dbo].[Pro_TEST]
AS
BEGIN
   DECLARE @split NVARCHAR(200)
   DECLARE @c NVARCHAR(200)

   SET @split=','
   SET @c='025,023,014,015'
   CREATE TABLE #T (col NVARCHAR(200))

    WHILE ( CHARINDEX(@split, @c) <> 0 )  
        BEGIN  
            INSERT  #T( col )  
            VALUES  ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )  
            SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')  
        END 
   INSERT  #T( col ) VALUES  ( @c )  
   SELECT * FROM #T
  
END


GO

--execute Pro_TEST 

 

posted on 2014-03-19 14:43  VincentZhu  阅读(456)  评论(0编辑  收藏  举报