Nie mam pojęcia, co się tutaj dzieje. Oto zapytanie prosto z phpMyAdmin:
SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';
Ale konsekwentnie zwracane są wszystkie rekordy w tabeli, w tym te z datą rozpoczęcia 01.11.2012. Co daje?
Nie mam pojęcia, co się tutaj dzieje. Oto zapytanie prosto z phpMyAdmin:
SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';
Ale konsekwentnie zwracane są wszystkie rekordy w tabeli, w tym te z datą rozpoczęcia 01.11.2012. Co daje?
Odpowiedzi:
powiększyłeś start_date
o pojedynczy cudzysłów, który stał się ciągiem znaków, użyj backtick
zamiast tego
SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18';
W swoim oświadczeniu porównujesz ciąg o nazwie data_początkowa z godziną.
Jeśli data_początkowa jest kolumną, powinna nią być
SELECT * FROM `la_schedule` WHERE start_date >'2012-11-18';
(bez apostrofu) lub
SELECT * FROM `la_schedule` WHERE `start_date` >'2012-11-18';
(z grawerami).
Mam nadzieję że to pomoże.
Spróbuj tego.
SELECT * FROM la_schedule WHERE `start_date` > '2012-11-18';
Próbowałem, ale powyżej nie działałem po badaniach znalezionych poniżej rozwiązania.
SELECT * FROM my_table where DATE(start_date) > '2011-01-01';