1
我有下列表Test_01
有两列,即Cola
和Colb
。SQL Server 2008 R2:准备动态WILDCARD
我有一种情况是我需要使用LIKE
和IN
多个值。
表:
SELECT * FROM Test_01;
Cola Colb
------------
1 A
11 B
22 C
例:
DECLARE @a VARCHAR(max) = 'A,B,C'
DECLARE @sql VARCHAR(max) = ''
我的坏尝试:这并不适用
SET @SQL = 'SELECT * from test_01
WHERE Colb LIKE IN (''%'+REPLACE(@a,',','%'',''%')+'%'')';
PRINT(@sql);
最后我知道我需要通过参考THIS准备LIKE
和OR
条件。
如何准备如下图所示的动态WILDCARD?
SELECT * FROM Test_01
WHERE
Colb LIKE '%A%' OR
Colb LIKE '%B%' OR
Colb LIKE '%C%' ;
Plus1非常感谢你。 – MAK