Jak działa CURRENT_DATE w języku SQL? Przykłady zastosowania

Jak działa CURRENT_DATE w języku SQL? Przykłady zastosowania

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

KajoDataSpace