这种存储过程怎么写

jinchun 2004-09-06 09:29:48
CREATE PROCEDURE pn_FileSearch(
@FileIDs varchar(100),
)
AS

select * from tn_file where cn_id in(@FileIDs)

GO

@FileIDs传入的是 1,2那么出错,因为@FileIDs是字符串类型的,存储过程中会自动识为'1,2'
那么我能否转为'1','2',但怎么转化

能否有其它办法
...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinchun 2004-09-06
  • 打赏
  • 举报
回复
回复 zjcxc(邹建)

现在我也使用这个办法,但是这样查看不方便,如果要修改这个语句的话也很累,还有其它办法吗
jinchun 2004-09-06
  • 打赏
  • 举报
回复
使用 charindex(cn_id,@FileIDs)>0是不可行的,因为
select charindex('1,','11,12') 他返回的是1,




zjcxc 2004-09-06
  • 打赏
  • 举报
回复
CREATE PROCEDURE pn_FileSearch(
@FileIDs varchar(100),
)
AS

exec('select * from tn_file where cn_id in('+@FileIDs+')')

GO
skyboy0720 2004-09-06
  • 打赏
  • 举报
回复
select * from tn_file where charindex(cn_id,@FileIDs)>0
jinchun 2004-09-06
  • 打赏
  • 举报
回复
set @FileIDs = ',' + @FileIDs + ','
select * from tn_file where charindex(cn_id,@FileIDs)>0

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧