
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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.