2015-12-14 10 views
5

Ich habe eine Tabelle in MySQL mit diesen Daten darinAuswahlfeld mit spezifischen Daten zwischen Kommata von regex

enter image description here

Ich mag Zeilen erhalten mit „1“ in der Spalte row1 von regex. Wie soll ich das machen?

([^,]1/) 

Ich benutze diese regex aber es gibt nur die Zeilen mit "1" in dem ersten Komma

+0

Gegen welche Spalten Sie die Suche zu tun haben wollen? –

+3

Siehe Normalisierung – Strawberry

+0

versuchen Sie '[[: <:]]1[[:>:]]' oder ''\ b1 \ b'' –

Antwort

4

Sie FIND_IN_SET() Funktion von mysql

select * from my_table where FIND_IN_SET('1',row1) > 0 
+0

danke für Ihre Antwort. Was ist mit den Zeilen, die 1,2 und nicht 3 enthalten? –

2

Versuchen verwenden:

select * 
from tbl 
where row1 REGEXP '(^|,)1(,|$)' 

(^|,)1(,|$) bedeutet (entweder begenning oder ,) 1 (e ither , oder end)

sql fiddle demo

+0

danke für Ihre Antwort. Was ist mit den Zeilen, die 1,2 und nicht 3 enthalten? –

Verwandte Themen