SQL 中in传入字符串的处理

路就是把传入的字符串转换成一个table, 见代码

DECLARE @tempTable table(F1 nvarchar(20))

DECLARE @ch nvarchar(20)

DECLARE @PlanningCrewIDS nvarchar(200)

set @PlanningCrewIDS = '1,2,3,4,'

 

                WHILE(@PlanningCrewIDS <>'')

                    BEGIN

                        SET @ch = LEFT(@PlanningCrewIDS,Charindex(',',@PlanningCrewIDS,1) -1)

                         INSERT @tempTable values(@ch)

                         SET @PlanningCrewIDS = stuff(@PlanningCrewIDS,1,Charindex(',',@PlanningCrewIDS,1),'')

                     END

 

SELECT FROM Candidate where IDPlanningCrew in(SELECT F1 FROM @tempTable)

posted @ 2010-08-06 16:20  kntao  阅读(1443)  评论(0)    收藏  举报