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-ID: 328445

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

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

LordGurke
Lösung LordGurke 04.02.2017 um 16:08:44 Uhr
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.
derSESO
derSESO 04.02.2017 um 16:35:46 Uhr
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