Suchen in Kommaseparierten DB-Feldern

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?

Veröffentlicht unter TYPO3 Technik
3 Kommentare auf “Suchen in Kommaseparierten DB-Feldern
  1. Michael sagt:

    Ich nehme immer den Klassiker:

    SELECT * FROM tabelle WHERE CONCAT(‚,‘,feld,‘,‘) LIKE ‚%,99,%‘.
    Aber deine Variante hört sich prima an!

  2. Der erste Ansatz ist eher ungeschickt, da bei einer Suche nach „Test“ auch „Test 2“ gefunden wird.

1 Pings/Trackbacks für "Suchen in Kommaseparierten DB-Feldern"
  1. http://www.armchairxplorer.com...

    TYPO3 Blog – für TYPO3 Entwickler von TYPO3 Experten » Suchen in Kommaseparierten DB-Feldern…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*