thgrch
Goto Top

MySQL DB - Zeige mir ALLES an ausser (Gegenteil von like)

Ich möchte alle Datensätze anzeigen, welche kein x imf Feld ab enthalten

Das Gegenteil von
select * where ab like '%x%';

Resultat
Anzeigen
YZ
NULL

Nicht anzeigen
X
YX
YXT

Danke für Eure Hilfe

Content-ID: 111534

Url: https://administrator.de/contentid/111534

Ausgedruckt am: 26.11.2024 um 11:11 Uhr

AndreasHoster
AndreasHoster 16.03.2009 um 15:02:25 Uhr
Goto Top
Bin zwar kein MySQL Profi im Speziellen, kenne aber SQL im Allgemeinen und würde es so machen:
select * where ab not like '%x%';  
Logan000
Logan000 16.03.2009 um 15:15:39 Uhr
Goto Top
Moin Moin

Zitat von @AndreasHoster:
Bin zwar kein MySQL Profi im Speziellen, kenne aber SQL im Allgemeinen
und würde es so machen:
 select * where ab not like '%x%';  

Fast. Null würde bei dieser Variante nicht mit angezeigt.
Das klappt nur mit einer unterabfrage und Not IN
SELECT *  FROM tabelle WHERE tabelle.ID NOT IN (Select ID FROM tabelle WHERE ab like '%x%')  

Gruß L.
AndreasHoster
AndreasHoster 16.03.2009 um 15:44:40 Uhr
Goto Top
OK, an NULL hatte ich nicht gedacht.
NOT IN ist allerdings etwas unperformant (so meine Erfahrungen).
Logan000
Logan000 16.03.2009 um 15:54:47 Uhr
Goto Top
Moin

NOT IN ist allerdings etwas unperformant (so meine Erfahrungen).
Stimmt, wobei ich allerdings vermute das die Unterabfrage hier die stärkere Bremse ist.

Gruß L.
bbyszio
bbyszio 16.03.2009 um 16:24:55 Uhr
Goto Top
Wie wäre es mit :

select * where ab not like '%x% or ab is null';


Gruß
Bodo