Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] jak obliczyć liczbę miesięcy pomiędzy datami?
Forum PHP.pl > Forum > Bazy danych > MySQL
someone.cool
Witam, chciałem obliczyć liczbę miesięcy pomiędzy jedną, a drugą datą (dziś). Wymyśliłem coś takiego:

CODE
select (MONTH(DATA)+(year(DATA)*12))-(MONTH(now())+(year(now())*12))) from tabela1

... ale czy da się to załatwić w łatwiejszy sposób i mniej kosztowny sposób ?
kefirek
  1. SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
someone.cool
musiałem przeoczyć kiedy czytałem w manualu sad.gif

Edit: a jednak nie - tu pokazuje różnice w miesiącach z dokładnością do dni, a mi jest potrzebne to, że np w czerwcu sprzedano tyle (bez znaczenia czy to 29 styczeń czy 31 na fakturze gdy robimy zestawienie 30).

obrazowo:
  1. SELECT TIMESTAMPDIFF(MONTH,'2003-02-04','2003-03-04');

pokaże 1
  1. SELECT TIMESTAMPDIFF(MONTH,'2003-02-04','2003-03-03');

pokaże 0

a mi chodzi o to, aby Kwiecień - do jednego wora(1-30.IV), maj do drugiego (1-30.V).


chociaż na upartego można by było
Mchl
No to po prostu wyciągaj miesiąc z daty?
Nie bardzo rozumiem problem...
someone.cool
w tym, że jeśli mam datę 1.09.2009 a 1.09.2010 jest 12 mies., ale 2020 - 132mies.
Mchl
Co chcesz zrobić?
someone.cool
chodzi o statystykę, gdzie muszę brać pod uwagę tylko pełne miesiące.

spoko - to moje rozwiązanie z początku daje rade, choć obciąża nieco i wygląda topornie winksmiley.jpg.
Mchl
Próbuję wyciągnąć z Ciebie szczegóły, bo nie potrafię sobie wyobrazić zestawienia statystycznego, w którym trzebaby uciekać się do takich myków winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.