2017-02-06 6 views
0

У меня есть данные в столбце 'суб' в базе данных MySQL: 1 = 0 | 2 = 0 | 3 = 0, 3 = 0, 1 = 0, 2 = 0SQL регулярное_выражение фильтр

Как фильтровать " 2 = 0 'из' sub 'с regexp mysql?

я был попробовать

SELECT * FROM `men` WHERE `sub` REGEXP '2{0,1)=0' 

но результат больше 1. Я хочу только '2 = 0' для моего результата.

, пожалуйста, это любое решение для меня?

+0

Вопрос не ясен. Приведите несколько примеров. –

+0

Вы пытаетесь удалить дубликаты? измените '1 = 0 | 2 = 0 | 3 = 0, 3 = 0, 1 = 0, 2 = 0' на' 1 = 0 | 2 = 0 | 3 = 0'? –

ответ

0

Я хочу только «2 = 0» для моего результата

Используйте начало строки ^ и конец строки $ анкеров.

REGEXP, в данном случае, было бы хорошо, чтобы найти динамические номера:

SELECT * FROM men WHERE sub REGEXP '^[0-9]=0$' 

для такого простого случая (я хочу только «2 = 0» для моего результата), это достижимо без регулярного выражения :

SELECT * FROM men WHERE sub = '2=0' 
+0

Если вы считаете, что это запрос, то это будет решение - SELECT * FROM men WHERE sub = '2 = 0'' –

+0

@DuduMarkovitz, добавлено в качестве альтернативы – RomanPerekhrest

0

Вы можете использовать оператор LIKE

Для всех строк, содержащих 2=0

SELECT * FROM men WHERE sub LIKE '%2=0%' 

Для содержащий только 2=0

SELECT * FROM men WHERE sub = '2=0' 
+0

Если вы считаете, что это запрос, было бы решением - 'SELECT * FROM men WHERE sub = '2 = 0'' –

+0

Я думаю, что это решение, мне нужно обновить ответ :) –