日期:2014-05-17 浏览次数:20648 次
--创建表#T_A
create table #T_A (TYPE VARCHAR(100))
INSERT #T_A VALUES ('YZ.')
INSERT #T_A VALUES ('PB.')
INSERT #T_A VALUES ('JGB.')
INSERT #T_A VALUES ('WK.')
INSERT #T_A VALUES ('DL.')
INSERT #T_A VALUES ('PFB.')
declare @var varchar(100)
set @var = 'YZ.,PB.,YH.' --前台传过来的变量
--给逗号前后加上'字符
SET @var = (SELECT '''' + REPLACE(@var, ',', ''',''') + '''')
--查询,但查不到记录
SELECT * FROM #T_A WHERE TYPE IN (@var)
----------------------------
--想要实现的效果
SELECT * FROM #T_A WHERE TYPE IN ('YZ.','PB.','YH.')
create table #T_A (TYPE VARCHAR(100))
INSERT #T_A VALUES ('YZ.')
INSERT #T_A VALUES ('PB.')
INSERT #T_A VALUES ('JGB.')
INSERT #T_A VALUES ('WK.')
INSERT #T_A VALUES ('DL.')
INSERT #T_A VALUES ('PFB.')
declare @var varchar(100),@sql VARCHAR(MAX)
set @var = 'YZ.,PB.,YH.' --前台传过来的变量
--给逗号前后加上'字符
SET @var = (SELECT '''' + REPLACE(@var, ',', ''',''') + '''')
SET @sql='SELECT * FROM #T_A WHERE TYPE IN ('+@var+')'
EXEC(@sql)