Mam taką zagwostkę, w polu dzień płatności jest tylko liczba oznaczająca do którego dnia jest dana płatność. I teraz potrzebuje zrobić tak, żeby wziąć wszystkie wpisy z tabeli gdzie różnica pomie∂zy data i dniem tej płatności a dzisjeszą było 7 dni.
Jeśli mamy dziś 26 lutego, a ktoś ma płatnośc do 3 każdego miesiąca to jak wygrać takie wpisy. Bo przecież luty ma 28 dni, może mieć 29, ktoś może dzień płatności ustawić jako 30 każdego miesiąca.
https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT ?
(dla PostgreSQL) dla MySQL znajdź coś podobnego.
chomikowski napisał(a):
Bo przecież luty ma 28 dni, może mieć 29, ktoś może dzień płatności ustawić jako 30 każdego miesiąca.
Chcesz powiedzieć, ze nie masz w aplikacji żadnej warstwy, która na to mądrze zareaguje?
Jest moim przekonaniem, że to tam powinno być
Na marginesie: kod w jakimś sensownym języku da się pokazać komuś kumatemu np z księgowości (oczywiście towarzysząc przy tym), żeby potwierdził - ambitny kod SQL jest nieczytelny
juz zrobilem, w tabeli jest pole z dniem tylko rent_pay_day i teraz co dzien cron ma byc uruchomiony i do dzisiejszej daty dodaje 7 dni, wybieram z tego dzien i szukam wpisow ktore maja termin z tym wlasnie dniem :) jetem genialny
SELECT * FROM `rentals` WHERE `rent_pay_day` = DAY(DATE_ADD(CURDATE(), INTERVAL 7 DAY));