类似于这种的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!这是一种比较简单的解决办法。
关键字: in条件 SQLServer存储过程
发表评论
相关文章
想了解服务发现、配置管理的同学,欢迎加入1000人Consul交流群:234939415
扫码关注公众号:萤火架构
文章分类
最新评论