Witam. Stworzyłem sobie niewielką bazę danych, wszystko ładnie pięknie działa. Mam problem z zapytaniem, ponieważ nie wyszukuje mi wszystkich rekordów jakie powinien.
Zapytanie wygląda tak: http://wklej.org/hash/f453bb3bbf8/
Format a.godzina jest ustawiona na varchar(30). Nie wyszukuje mi rekordów, które mają godzinę od 00:00 do 6:00, mimo, że takie rekordy w bazie istnieją. Godziny od 06:00 do 14:00 i od 14:00 do 22:00 działają wyśmienicie. Co mogłem skopać?
A czemu w ogóle trzymasz godziny jako string? Nie lepiej int? Nie możesz na nich wykonywać operacji arytmetycznych…
Nie mam pod ręką MSSQLa teraz żeby Ci to sprawdzić.Nie zepsułeś czegoś w części tego warunku z funkcjami daty: a.dataPoczatkowa >= DATEADD(DAY, DATEDIFF(day, 0, GETDATE()), 0)
?
A jestes pewien ze operator >= dziala tak jak oczekujesz na typie varchar? Moze obie strony trzeba przekonwertowac do wlasciwego typu?
Pozdrawiam,
mr-owl