笔记214 sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢
笔记214 sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢
1 --sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢 2 DROP TABLE #t 3 --> 测试数据:#t 4 CREATE TABLE #t 5 ( 6 [id] INT , 7 货品编号 NVARCHAR(20) , 8 库存查询 VARCHAR(10) 9 ) 10 INSERT #t 11 SELECT 1 , 12 'B1' , 13 '库存有' 14 UNION ALL 15 SELECT 2 , 16 'B3' , 17 '库存无' 18 UNION ALL 19 SELECT 3 , 20 'B2' , 21 '库存无' 22 UNION ALL 23 SELECT 4 , 24 'B2' , 25 '库存无' 26 UNION ALL 27 SELECT 5 , 28 'B4' , 29 '库存有' 30 UNION ALL 31 SELECT 6 , 32 'B1' , 33 '库存无' 34 35 SELECT * FROM #t 36 37 38 BEGIN 39 DECLARE @货品编号 NVARCHAR(MAX) 40 SET @货品编号 = 'B1,B2' 41 insert into [#t] select * from [#t] where CHARINDEX(',' + 货品编号 + ',', ',' + @货品编号 + ',') > 0 42 END 43 SELECT * FROM [#t]