Często potrzebujemy sprawdzić aktualną datę lub czas w trakcie wykonywania zapytań SQL. Najczęściej wykorzystuje się to do zapisania w bazie daty i godziny wykonania danej czynności (np. dopisania lub modyfikacji danych), chociaż również do wielu innych czynności. W MySQL mamy kilka możliwości.
Podstawową i najprostszą funkcją podającą aktualną datę oraz godzinę jest funkcja NOW().
NOW() - w standardowym wywołaniu podaje aktualną datę i czas w postaci ciągu tekstowego o strukturze (RRRR-MM-DD HH:MI:SS), gdzie RRRR-rok czterocyfrowy, MM-miesiąc dwucyfrowy, DD-dzień dwucyfrowy, HH-godzina dwucyfrowa, MI-minuta dwucyfrowa, SS-sekunda dwucyfrowa.
NOW() może podawać też wynik w postaci liczbowej w formacie : RRRRMMDDHHMISS.
Format danych w jakim wynik jest podawany jest zależny od kontekstu w którym funkcja zostanie użyta. Zamiast funkcji NOW() można używać funkcji SYSDATE() lub CURRENT_TIMESTAMP - to ostatnie zapewnia kompatybilność z innymi bazami (np. Oracle,DB2,MS SQL).
Aby pobrać tylko datę używamy funkcji CURDATE().
CURDATE() - w standardowym wywołaniu podaje aktualną datę w postaci ciągu tekstowego o strukturze (RRRR-MM-DD).
CURDATE() może podawać też wynik w postaci liczbowej w formacie : RRRRMMDD.
Format danych w jakim wynik jest podawany jest zależny od kontakstu w którym funkcja zostanie użyta. Zamiast funkcji CURDATE() można używać CURRENT_DATE co zapewnia kompatybilność z innymi bazami.
Aby pobrać tylko czas używamy funkcji CURTIME().
CURTIME() - w standardowym wywołaniu podaje aktualny czas w postaci ciągu tekstowego o strukturze (HH:MI:SS).
CURTIME() może podawać też wynik w postaci liczbowej w formacie : HHMISS.
Format danych w jakim wynik jest podawany jest zależny od kontekstu w którym funkcja zostanie użyta. Zamiast funkcji CURTIME() można używać CURRENT_TIME co zapewnia kompatybilność z innymi bazami.