
Jeśli kiedykolwiek pracowałeś z bazami danych, prawdopodobnie spotkałeś się z koniecznością operowania na datach. W SQL istnieje kilka funkcji, które pomagają uzyskać bieżącą datę – jedną z najbardziej podstawowych i uniwersalnych jest CURRENT_DATE. Dzisiaj pokażę Ci dokładnie, jak działa CURRENT_DATE w języku SQL oraz jakie są praktyczne sposoby jego wykorzystania.
Co to jest CURRENT_DATE?
CURRENT_DATE to jedna z funkcji systemowych SQL, która zwraca bieżącą datę w formacie YYYY-MM-DD (zgodnie z ustawieniami serwera bazodanowego). Nie zwraca czasu – tylko pełną datę.
Przykładowe użycie:
SELECT CURRENT_DATE;
Wynik może wyglądać tak:
2024-06-12
Warto wiedzieć, że w niektórych systemach baz danych możemy używać także aliasów tej funkcji, np. CURDATE() w MySQL.
W jakich bazach danych działa CURRENT_DATE?
Funkcja CURRENT_DATE jest obsługiwana przez większość popularnych systemów baz danych, w tym:
- MySQL
- PostgreSQL
- Oracle
- SQL Server (z alternatywną funkcją
GETDATE()) - MariaDB
- SQLite
Warto jednak pamiętać, że w niektórych systemach funkcjonalność może się różnić i zamiast CURRENT_DATE lepiej używać GETDATE() lub innych odpowiedników.
Różnice między CURRENT_DATE a innymi funkcjami daty
| Funkcja | Opis | Obsługiwane systemy |
|---|---|---|
CURRENT_DATE |
Zwraca tylko bieżącą datę (bez godziny). | MySQL, PostgreSQL, Oracle, MariaDB, SQLite |
CURRENT_TIMESTAMP |
Zwraca pełną datę wraz z godziną. | MySQL, PostgreSQL, Oracle, SQL Server |
GETDATE() |
Zwraca bieżącą datę i godzinę. Alternatywa dla CURRENT_TIMESTAMP w SQL Server. |
SQL Server |
Przykłady zastosowania CURRENT_DATE
Przyjrzyjmy się kilku praktycznym przykładom użycia CURRENT_DATE w zapytaniach SQL.
1. Filtrowanie rekordów według daty
Chcesz wyświetlić wszystkie zamówienia, które zostały złożone dzisiaj? Wystarczy użyć poniższego zapytania:
SELECT * FROM zamowienia WHERE data_zamowienia = CURRENT_DATE;
2. Dodawanie dni do bieżącej daty
Załóżmy, że musisz znaleźć datę o 7 dni do przodu:
SELECT CURRENT_DATE + INTERVAL 7 DAY;
W SQL Server analogiczne zapytanie wyglądałoby tak:
SELECT DATEADD(DAY, 7, CURRENT_DATE);
3. Pobieranie rekordów z ostatnich 7 dni
Sprawdź, jakie zamówienia zostały złożone w ciągu ostatniego tygodnia:
SELECT * FROM zamowienia WHERE data_zamowienia >= CURRENT_DATE - INTERVAL 7 DAY;
Podsumowanie
CURRENT_DATE to niezwykle przydatna funkcja w SQL, która pozwala na szybkie operowanie na bieżącej dacie. Jest obsługiwana przez większość systemów baz danych i znajduje szerokie zastosowanie w różnych scenariuszach – od filtrowania rekordów po zaawansowane operacje na datach. Jeśli pracujesz z bazami danych, znajomość tej funkcji z pewnością ułatwi Ci życie.
Inny ciekawy artykuł:
Jak działa NOW w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

