SQL-Abfrage, in der das Feld nicht $ x enthält
Ich möchte zu finden eine SQL-Abfrage zum suchen von Zeilen, wo Feld1 nicht enthalten $x. Wie kann ich dies tun?
Kommentar zu dem Problem
Kann ich mit CONTAINS () - Funktion (sql), um die gleiche Prüfung?
InformationsquelleAutor der Frage zuk1 | 2008-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was für ein Feld ist das? Der IN-operator kann nicht verwendet werden, mit einem einzigen Feld, aber sollte verwendet werden, in Unterabfragen oder mit vordefinierten Listen:
Wenn Sie sind auf der Suche nach einem string, der operator LIKE (aber das wird langsam sein):
Wenn Sie es so beschränken, dass die Zeichenfolge, die Sie suchen hat zu beginnen mit der angegebenen Zeichenfolge, die Sie verwenden können Indizes (wenn es ein index auf diesem Feld), und ziemlich schnell:
InformationsquelleAutor der Antwort Vegard Larsen
SELECT * FROM table WHERE field1 NOT LIKE '%$x%';
(Stellen Sie sicher, dass Sie entkommen, $x richtig im Vorfeld zu vermeiden, SQL-injection)Edit:
NOT IN
tut etwas ein wenig anders - Ihre Frage ist nicht ganz klar, so wählen Sie, welche zu benutzen.LIKE 'xxx%'
kann einen index verwenden.LIKE '%xxx'
oderLIKE '%xxx%'
nicht.InformationsquelleAutor der Antwort Greg