CURRENT_DATE() to funkcja SQL zwracająca bieżącą datę według serwera bazy danych. Jest używana wtedy, gdy trzeba odfiltrować rekordy dotyczące aktualnego dnia, np. dzisiejsze faktury, zamówienia lub wpisy w dzienniku zdarzeń.
Zastosowanie w klauzuli WHERE
Najczęściej CURRENT_DATE() pojawia się w warunku WHERE, aby porównać wartość kolumny typu data z dzisiejszą datą.
SELECT numer, wartosc
FROM faktury
WHERE data = CURRENT_DATE();
Taka kwerenda pobiera tylko te faktury, których pole data jest równe bieżącej dacie.
CURRENT_DATE() a NOW()
Warto odróżnić:
CURRENT_DATE()— zwraca tylko datę, np.2026-05-27,NOW()— zwraca datę i godzinę, np.2026-05-27 14:30:00.
Jeżeli kolumna przechowuje wyłącznie datę, użycie CURRENT_DATE() jest właściwe. Jeśli kolumna zawiera także godzinę, prosty warunek data = CURRENT_DATE() może nie zadziałać zgodnie z oczekiwaniem, bo porównywana jest data z wartością typu data-godzina.
Typowy przykład egzaminacyjny
Jeżeli raport ma zawierać tylko wybrane kolumny, nie należy używać SELECT *. Trzeba wskazać konkretne pola:
SELECT numer, wartosc
FROM faktury
WHERE data = CURRENT_DATE();
Ta kwerenda spełnia dwa warunki: wybiera tylko faktury z bieżącego dnia oraz zwraca tylko numer i wartość faktury.