Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Jak pobrać rekordy od dnia X do dnia Y kolejnego miesiąca, Okres rozliczeniowy obejmujący dwa miesiące
q3d
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

Ostrzeżenie: (0%)
-----


Gdyby okres rozliczeniowy zaczynał się pierwszego, a kończył ostatniego dnia miesiąca, mógłbym pobrać rekordy następująco:

  1. SELECT id FROM history_offers WHERE YEAR(eventDate) = YEAR(CURRENT_DATE()) AND MONTH(eventDate) = MONTH(CURRENT_DATE())


jednak okres rozpoczyna się 17 dnia miesiąca, a kończy 18 dnia kolejnego miesiąca. Jak w takim przypadku pobrać rekordy tylko przy pomocy SQL?

Z wykorzystaniem PHP to przychodzi mi do głowy operacje na wartościach zwracanych przez date(), a następnie:

  1. SELECT id FROM history_offers WHERE eventDate BETWEEN 'od' AND 'do'
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Możesz użyć BETWEEN lub >= oraz <=.

17. aktualnego miesiąca i 18. miesiąca następnego:
  1. CONCAT(DATE_FORMAT(CURDATE(),'%Y-%m-'),'17')
  2. CONCAT(DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH),'%Y-%m-'),'18')
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 02:28