Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] jak obliczyć liczbę miesięcy pomiędzy datami?
someone.cool
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 31.01.2009

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


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 ?

Ten post edytował someone.cool 12.12.2009, 02:03:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
Go to the top of the page
+Quote Post
someone.cool
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 31.01.2009

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


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

Ten post edytował someone.cool 12.12.2009, 17:48:47
Go to the top of the page
+Quote Post
Mchl
post
Post #4





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


No to po prostu wyciągaj miesiąc z daty?
Nie bardzo rozumiem problem...
Go to the top of the page
+Quote Post
someone.cool
post
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 31.01.2009

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


w tym, że jeśli mam datę 1.09.2009 a 1.09.2010 jest 12 mies., ale 2020 - 132mies.
Go to the top of the page
+Quote Post
Mchl
post
Post #6





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Co chcesz zrobić?
Go to the top of the page
+Quote Post
someone.cool
post
Post #7





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 31.01.2009

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


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.

Ten post edytował someone.cool 14.12.2009, 01:11:22
Go to the top of the page
+Quote Post
Mchl
post
Post #8





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 13:37