Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> operacje arytmetyczne na datach
czezz
post 21.02.2005, 16:48:24
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


Chciałbym móc wykonać taką operację:
  1. SELECT current_date() - 2004-12-02

i w odpowiedzi otrzymać wartość liczbową wyrażoną w dniach lub miesiącach lub latach.



http://dev.mysql.com/doc/mysql/en/date-and...-functions.html
Za pomocą informacji zawartych w linku powyżej udało mi się osiągnąć zamierzony efekt przy kombinacji kilku zapytań.
(przy użyciu funkcji EXTRACT, DAYOFYEAR i DAYOFMONTH)


Czy wie ktoś jak uzyskać ten sam efekt 1 zapytaniem blink.gif ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mhs
post 21.02.2005, 19:35:43
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Jak na razie wymyslilem nastepujace zapytania (sprawdz je jeszcze czy aby na pewno dzialaja prawidlowo):

  1. SELECT (YEAR(CURDATE()) - YEAR('1567-01-01')) AS lata;
  2.  
  3. SELECT (MONTH('2004-01-01') + ((YEAR(CURDATE()) - YEAR('2004-01-01'))) * 12) AS miesiace;


Jak na razie nie moge jeszcze poradzic sobie z ostatnim zapytaniem dotyczacym dni.

Pozdrawiam.
Go to the top of the page
+Quote Post
czezz
post 22.02.2005, 11:04:10
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


Obliczanie samego roku to nie problem.
Gorzej jest z obliczaniem miesięcy. To co napisałeś też już przerobiłem. Jeśli wpiszesz miesiąc młodszy od miesiąca z curdate() to otrzymasz przekłamanie sad.gif
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:36