CURRENT_DATE() w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.