Więc mam to:SQL między datami włącznie z datami rozpoczęcia i zakończenia
(CURDATE() BETWEEN start_date AND end_date)
działa dobrze.
Ale kiedy CURDATE()
jest 2011-12-02, a end_date
jest 2011-12-02 będzie pobrać rząd?
Np moja data_początkowa jest 2011-12-01 00:00:00 Data i mój koniec jest 2011-12-02 23:59:59
Tak to działa tylko wtedy, gdy data jest pomiędzy, ale jeśli nie jest to NA samym end_date
.
A może powinien sprawdzić również czas, ponieważ nadal musi zostać wybrany przy pomocy tego zapytania, gdy jest 2011-12-02 15:30:00 na przykład.
Jak mogę to zrobić?
Dobrze Oczywistą odpowiedzią jest, aby odjąć 1 dzień od 'datą_początkową ', i dodaj 1 dzień do' end_date', ale nie umieszczam tego jako odpowiedzi, ponieważ może istnieć lepsza alternatywa SQL. – DaveRandom
@dave, ktoś inny zrobił! –
między środkami wykluczającymi początek i koniec, aby wynik był poprawny. Tak więc działa tylko wtedy, gdy data jest między, ale nie, jeśli jest w samym dniu end_date. –