derseso
Goto Top

SQL-Abfrage mit "kleiner gleich" funktioniert nicht

Hallo!

Per folgender SQL-Abfrage erhalten wir nicht das korrekte Ergebnis:
SELECT ID, Bezeichnung FROM TBA_Gesamt WHERE Artikelnr='00606616' AND (Datum >= CONVERT(DATETIME, '05.07.2016', 104) AND Datum <= CONVERT(DATETIME, '01.09.2016', 104))  

Dabei wird die letzte Bedingung "<=" nicht korrekt umgesetzt.
Wir bekommen nur Einträge bis zum 31.08.2016 angezeigt, die Einträge vom 01.09.2016, welche wirklich existieren, nicht?

- Apache WebServer
- MS SQL-Server
- PHP-Script
- Zugriff via ODBC

Content-Key: 328445

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

Printed on: April 24, 2024 at 14:04 o'clock

Member: LordGurke
Solution LordGurke Feb 04, 2017 at 15:08:44 (UTC)
Goto Top
Steht in dem Feld "Datum" wirklich nur das Datum oder auch eine Uhrzeit mit drin?
Falls die Uhrzeit mit dabei steht, ist diese am Zweifel größer als der 01.09.2016, da das konvertierte Datum der Uhrzeit 00:00:00 entspräche und somit technisch gesehen NACH dem 01.09.2016 (00:00:00) liegt.
Member: derSESO
derSESO Feb 04, 2017 at 15:35:46 (UTC)
Goto Top
Hallo!

Habe die Abfrage geändert ... und siehe da. face-smile
SELECT ID, BezeichnungFROM TBA_Gesamt WHERE Artikelnr='00606616' AND CONVERT(DATE, Datum, 104) <= CONVERT(DATE, '01.09.2016', 104)  

Manchmal kann es so einfach sein - Danke. face-smile