日期:2014-05-19  浏览次数:20678 次

求一SQL字符串拆分并处理问题
在存储过程里
CREATE   PROCEDURE   procChangeTableStatus
      (
@Did1 VARCHAR(1000)
      )
AS
UPDATE   DingingTable
SET   Dstatus   =   3
WHERE   Did   IN   (   @Did1   )---这句有错(*)
上面存储过程中Did是表DingingTable中的Int型字段,而要接收的是一字符串,如:‘1,2,3,4,5’,请问(*)句应该怎么写啊?不借用临时表,能用一般的SQL语句写出来吗?

------解决方案--------------------
或者


CREATE PROCEDURE procChangeTableStatus
(
@Did1 VARCHAR(1000)
)
AS
UPDATE DingingTable
SET Dstatus = 3
WHERE ', ' + @Did1 + ', ' Like '%, ' + Rtrim(Did) + ',% '
------解决方案--------------------
驚喜..發現最近魚老大搶分嚴重