Hier ein kleines SQL-Statement zum Suchen in kommaseparierten Inhalten in einem Datenbankfeld
SELECT * FROM db_tabelle WHERE kommaseparierte_db_feld REGEXP ‚^(.*,)*suchwert(,.*)*‘;
Interessant ist in diesem Zusammenhang auch die MySQL-Funktion FIND_IN_SET() (Link).
Aber Vorsicht: für beide Wege brauchts mindestens MySQL 5.x
Hat irgendjemand Erfahrungen, welche Methode die performantere ist?
Ich nehme immer den Klassiker:
SELECT * FROM tabelle WHERE CONCAT(‚,‘,feld,‘,‘) LIKE ‚%,99,%‘.
Aber deine Variante hört sich prima an!
goooddd
Der erste Ansatz ist eher ungeschickt, da bei einer Suche nach „Test“ auch „Test 2“ gefunden wird.