介绍一下关于SQLServer存储过程中int字段含有in条件的解决办法:
类似于这种的Sql语句:
Select * from table where column in (1,2,3)
column为int类型,在普通的Sql语句中我们可以传递一个字符串,但是在存储过程中却行不通,存储过程会自动进行格式化。
解决的办法:
ALTER PROCEDURE [dbo].[GetList]
@MyConditions varchar(20)
AS
SELECT
FROM
[dbo].[Table]
WHERE CHARINDEX(','+cast([Table].[COLUMN] as varchar(10))+',',','+@MyConditions +',')>0
OK!这是一种比较简单的解决办法。