Suche in SET-Spalten

Hallo,

wie sucht man, ob in einer Set-Spalte ein bestimmter Wert gesetzt ist?

Beispiel ich habe eine Spalte box_medium vom Typ SET('B','M') und
möchte alle Zeilen finden, wo 'B' gesetzt ist.

SELECT * FROM medium WHERE box_medium ...?

Roland
Roland Smiderkal [ Sa, 03 November 2007 17:22 ] [ ID #1861548 ]

Re: Suche in SET-Spalten

Roland Smiderkal schrieb:

> Beispiel ich habe eine Spalte box_medium vom Typ SET('B','M') und
> möchte alle Zeilen finden, wo 'B' gesetzt ist.
>
> SELECT * FROM medium WHERE box_medium ...?

.... LIKE '%B%'


HTH,

Sebastian
Sebastian Suchanek [ Sa, 03 November 2007 17:29 ] [ ID #1861549 ]

Re: Suche in SET-Spalten

Sebastian Suchanek schrieb:
>
> .... LIKE '%B%'

Folgendes ist wohl intuitiver, da es sich schließlich um eine
SET-Spalte handelt:

... WHERE FIND_IN_SET( box_medium, 'B' ) > 0

Peter
Peter Schleif [ Sa, 03 November 2007 18:31 ] [ ID #1861551 ]

Re: Suche in SET-Spalten

Peter Schleif schrieb:
>>
>> .... LIKE '%B%'
>
>Folgendes ist wohl intuitiver, da es sich schließlich um eine
>SET-Spalte handelt:
>
> ... WHERE FIND_IN_SET( box_medium, 'B' ) > 0

Nicht nur das, es ist auch sicherer. Die Lösung mit LIKE ist mir
selber eingefallen, war mir aber zu unsicher sollten später weitere
Optionen zur SET-Spalte dazukommen (die eventuell ein 'B' enthalten).

BTW:
... WHERE FIND_IN_SET( 'B', box_medium ) > 0

Danke
Roland
Roland Smiderkal [ Sa, 03 November 2007 23:11 ] [ ID #1861553 ]
Datenbanken » de.comp.datenbanken.mysql » Suche in SET-Spalten

Vorheriges Thema: Sortieren nach "Einzelelementen" einer GROUP?
Nächstes Thema: Datenupdate per CSV-Datei mit besonderen Bedingungen