Warum gibt diese einfache Abfrage 'ORA-00936: fehlender Ausdruck' zurück (die Datenbank ist, wie Sie sehen können, Oracle):
SELECT * FROM transactions WHERE id NOT LIKE '1%' AND NOT LIKE '2%'
Ich fühle mich albern, aber was mache ich falsch?
Sie haben den Feldnamen id
im zweiten NOT LIKE
Verpasst. Versuchen:
SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
Das AND
in der where-Klausel verknüpft zwei vollständige Bedingungsausdrücke wie id NOT LIKE '1%'
Und kann nicht verwendet werden, um mehrere Werte aufzulisten, denen die ID nicht entspricht.
Sie müssen die Spalte in beiden Ausdrücken angeben.
SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
Sie haben den Ausweis vor dem NICHT verpasst; es muss angegeben werden.
SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'