У меня есть следующая таблица 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);
Наконец, я узнал, что мне нужно подготовить LIKE
с условием OR
, указав THIS.
Как подготовить динамический WILDCARD, как показано ниже?
SELECT * FROM Test_01
WHERE
Colb LIKE '%A%' OR
Colb LIKE '%B%' OR
Colb LIKE '%C%' ;
Плюс1 Большое вам спасибо. – MAK