2013-03-11 3 views
4

Рассмотрим запись DOMAIN={domain1,domain2,domain3}, как я могу проверить, если domain1 или domain2 или domain3 в списке?Подстроки шлейфа, разделенные запятой в поле ввода

Например: list={domain5, domain 2, domain6}

------------------------------------ 
| CONTEXT |  DOMAIN   | 
-----------------------------------| 
| context1 |domain1,domain2,domain3| 
|----------------------------------| 

Я попытался SELECT * FROM table WHERE SUBSTRING_INDEX(domain, ',', 1) IN {'domain5', 'domain 2', 'domain6'}, но это работает только для первого значения до запятой (domain1)

+2

MSSQL? MySQL? Oracle? –

ответ

0

Для использования SQL Server определенного пользователя функции от CodeProject

+0

Есть ли какой-либо эквивалент 'dbo.fn_ParseText2Table' в MySQL? – simo

0

с mysql Вы можете написать свое собственное поле и использовать regexp вот так:

SELECT 
    * 
FROM table1 
WHERE CONCAT(',', domain, ',') REGEXP ',domain1,|,domain2,|,domain1,' 
0

Почему вы просто не используете LIKE оператор с процентным (%) символом подстановки.

Select * From tablename 
where DOMAIN Like '%domain1%' 
or DOMAIN Like '%domain2%' 
or DOMAIN Like '%domain3%' 
Смежные вопросы