Porównywanie dat
SELECT * FROM president WHERE birth >= '1970-01-01' AND birth < '1980-01-01';
SELECT * FROM president WHERE YEAR(deth) = 1980 AND MONTH(birth) = 3 AND DAYOFMONTH(birth) = 29;
# SELECT * FROM president WHERE MONTH(birth) = MONTH( CURDATE()) AND DAYOFMONTH(birth) = DAYOFMONTH( CURDATE());
TIMESTAMPDIFF – różnica między datami wyrażona w latach (YEAR)
# SELECT name, birth, death, TIMESTAMPDIFF( YEAR, birth, death) AS age FROM president WHERE death IS NOT NULL
TO_DAYS() konwertuje datę na liczbę dni
# SELECT * FROM member WHERE ( TO_DAYS(expiration) - TO_DAYS( CURDATE()) ) < 60; lub ... WHERE TIMESTAMPDIFF( DAY, CURDATE(), expiration) < 60;
Obliczenie daty na podstawie innej daty
SELECT DATE_ADD('1970-1-1', INTERVAL 10 YEAR); // 1980-01-01 SELECT DATE_SUB('1970-1-1', INTERVAL 10 YEAR); // 1960-01-01