Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: operacje arytmetyczne na datach
Forum PHP.pl > Forum > Bazy danych > MySQL
czezz
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 ?
mhs
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.
czezz
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
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.