Exec('select * from tbname where dm in ( '+@DWList+' )')
或
select * from tbname where Charindex(','+dm+',',','+@DWList+',')>0
或
select * from tbname where Charindex(','+dm+',',','+@DWList+',')>0
解决方案 »
- 求一个sql语句
- SQL存储过程的问题。。往解答。。急
- 使用select ...... as 别名时,别名要使用变量如何实现啊?
- 不允许修改某一个值用触发器还是CHECK
- 如何将sql server中的数据导出到access中呢?同样如何将access中的数据导入到sql server中呢?谢 谢 啊
- 关于“update语句中使用from可以引用其它表”,下面的一条语句我不明白,请大家帮我解释一下,谢谢!!!
- 求分组的最新的数据,如何求?
- 频繁重新排序问题
- 为何我的程序造成服务器频繁当机?!
- 哥们,姐们,急啊!!谁能解决这个问题我重重有赏!!
- 全文索引有什么好处?
- 怎幺用sql语句实现用一个表某些字段更新另一个表同名字段?
ALTER PROC aa (@DWList NVARCHAR(400))
AS
EXEC('SELECT * FROM dbo.BOM_main WHERE 清单编号 IN ('+@DWList+')')这样调用过程
EXEC aa '''001'',''002'',''003'''
我还需要处理。
2,select * from tbname where Charindex(','+dm+',',','+@DWList+',')>0 好像也出不来。
DECLARE @DWList NVARCHAR(400)SET @DWList ='''001'',''002'',''003'''select @DWListEXEC('SELECT * FROM tbname WHERE dm IN ('+@DWList+')')
2,我需要从tb1中筛选数据insert到#tmp中然后对#tmp进行处理
DECLARE @Table1 TABLE (a NVARCHAR(4),b INT)INSERT INTO @Table1 VALUES('0001',1)
INSERT INTO @Table1 VALUES('0002',2)
INSERT INTO @Table1 VALUES('0003',3)DECLARE @DWList NVARCHAR(400)SET @DWList ='''0001'',''0002'''select * from @Table1 where ','+@DWList+',' LIKE '%,'''+a+''',%'
INSERT INTO @Table1 VALUES('0001',1)
INSERT INTO @Table1 VALUES('0002',2)
INSERT INTO @Table1 VALUES('0003',3)DECLARE @DWList NVARCHAR(400)SET @DWList ='''0001'',''0002'''select * from @Table1 where CHARINDEX(','''+a+''',',','+@DWList+',')>0
DECLARE @DWList NVARCHAR(400)SET @DWList ='''001'',''002'',''003'''select @DWListEXEC('SELECT * FROM tbname WHERE dm IN ('+@DWList+')')
我将#tmp改成在存储过程Create table #tmp
然后EXEC('insert into #tmp...')