Operowanie datami MySQL

Wielokrotnie dużo osób potrzebuje wyszukać rekordów z ostatnich np. 7 dni. Do tego służą podstawowe rekordy w bazie danych MySQL.
Warunkiem istnienia takiego szukania jest stworzenie kolumny np. `date_search` w typie DATETIME.

DATETIME jest strukturą opatą o format "2007-12-31 23:59:59".

W takiej sytuacji wywołanie funkcji NOW() spowoduje wyświetlenie obecnego czasu na serwerze:

1
2
SELECT NOW()
#2007-12-31 23:59:59

 

Aby wyszukać rekordy nowsze niż 7 dni wystarczy zadać zapytanie:

1
2
SELECT `id` FROM `tables` WHERE `date_search`>DATE_SUB(now(), INTERVAL 7 DAY));
 

Natomiast data do przodu odbywa się poleceniem DATE_ADD:

1
2
SELECT `id` FROM `tables` WHERE `date_search`>DATE_SUB(now(), INTERVAL 7 DAY));
 

Czyli nowsze niż 7 dni.