where in 的问题请教

sutter 2004-11-22 10:25:46
Declare @ForeceId sql_variant
SET @ForeceId='37,38'
select * from MyTable
where Id in(@ForeceId)

这样得不出结果,但写成这样就可以:

select * from MyTable
where Id in(37,38)

@ForeceId要动态传入的,请问该怎实现呢,谢谢
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qizhanfeng 2004-11-22
  • 打赏
  • 举报
回复
Declare @ForeceId sql_variant
SET @ForeceId='37,38'
select * from MyTable
where charindex(id,@ForeceId)>0
sutter 2004-11-22
  • 打赏
  • 举报
回复
这样啊,多谢各位
zlp321002 2004-11-22
  • 打赏
  • 举报
回复
Declare @ForeceId sql_variant
SET @ForeceId='37,38'

select * from MyTable where charindex(','+cast(id as varchar)+',',','+cast(@ForeceId as varchar)+',')>0
davorsuker39 2004-11-22
  • 打赏
  • 举报
回复
exec('select * from MyTable where Id in('+@ForeceId+')')
WangZWang 2004-11-22
  • 打赏
  • 举报
回复
Declare @ForeceId sql_variant
SET @ForeceId='37,38'

exec('Select * from MyTable
where Id in('+@ForeceId)
lsxaa 2004-11-22
  • 打赏
  • 举报
回复
exec('select * from MyTable where Id in('+@ForeceId+')')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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