Proponowane rozwiązanie z funkcją date()
nie wydaje się być czysty SQL i nie działa dla mnie (za pomocą SQL Server). Oryginalne rozwiązanie (porównywanie dnia, miesiąca i roku z osobna) jest krokiem we właściwym kierunku, ale nie można tego zrobić w ten sposób, ponieważ na przykład data w przyszłości, dzień nie musi być większy, jeśli miesiąc jest większy, itd. Następujący SQL powinien działać:
(year(t.endDate) > year(t.startDate))
or
(year(t.endDate) = year(t.startDate)
and
month(t.endDate) > month(t.startDate))
or
(year(t.endDate) = year(t.startDate)
and
month(t.endDate) = month(t.startDate)
and
day(t.endDate) > day(t.startDate))
To daje mi porównanie z miesiącem i rokiem oddzielnie ... ale muszę porównać ** pełną datę ** w czasie jak * * 06-09-2014 ** –
Działa z następującą zmianą ** gdzie DATE (t.endDate)> (t.startDate) ** –
Cieszę się, że to działało dla ciebie. Redaguję odpowiedź za pomocą twojego rozwiązania, zamiast zostawiać rozwiązanie w komentarzach. To jest sposób działania Stackoverflow. – carbontax