Ich brauche Hilfe bei der SQL-Abfrage.
Ich versuche alle Datensätze aus der Tabelle test_table
auszuwählen, die nicht zwischen den beiden Daten '2009-12-15' und '2010-01-02' passen.
Das ist meine Tabellenstruktur:
`start_date` date NOT NULL default '0000-00-00',
`end_date` date NOT NULL default '0000-00-00'
-----------------------------
**Der folgende Datensatz sollte nicht ausgewählt werden:**
`start_date`, `end_date`
'2003-06-04', '2010-01-01'
Meine Abfrage:
SELECT *
FROM `test_table`
WHERE
CAST('2009-12-15' AS DATE) NOT BETWEEN start_date and end_date
AND
CAST('2010-01-02' AS DATE) NOT BETWEEN start_date and end_date
Irgendwelche Ideen, warum meine Abfrage falsche Datensätze auswählt? Sollte ich die Reihenfolge der Werte in der Abfrage ändern, beispielsweise zu:
start_date NOT BETWEEN CAST('2009-12-15' AS DATE) and CAST('2010-01-02' AS DATE)
Vielen Dank für jede Hilfe
0 Stimmen
Wenn Sie NICHT vor start_date setzen, sollte es funktionieren.