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

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

Praca z danymi czasowymi w bazach danych to codzienność dla wielu programistów i analityków. Jednym z podstawowych i często używanych funkcji SQL jest YEAR(), która pozwala szybko wyodrębnić rok z pola typu DATE lub DATETIME. W tym artykule dokładnie przeanalizuję, jak działa YEAR w języku SQL oraz podam praktyczne przykłady jego zastosowania.

Co to jest funkcja YEAR() w SQL?

Funkcja YEAR() w SQL służy do ekstrakcji wartości roku z kolumny zawierającej datę lub znacznik czasu (DATE, DATETIME, TIMESTAMP). Zwraca ona wartość całkowitą odpowiadającą czterocyfrowemu zapisowi roku.

Podstawowa składnia tej funkcji wygląda następująco:

SELECT YEAR('2024-06-15');

Wynik tego zapytania to:

2024

Przykłady użycia YEAR() w SQL

Przejdźmy do praktycznych zastosowań tej funkcji w różnych kontekstach bazodanowych.

1. Pobranie roku z kolumny typu DATE

Załóżmy, że mamy tabelę zamowienia z kolumną data_zamowienia o typie DATE. Aby uzyskać rok z każdego rekordu, możemy użyć:

SELECT id, YEAR(data_zamowienia) AS rok 
FROM zamowienia;

2. Filtrowanie danych według roku

Jeśli chcemy otrzymać zamówienia tylko z 2023 roku, możemy wykorzystać WHERE z funkcją YEAR():

SELECT * FROM zamowienia 
WHERE YEAR(data_zamowienia) = 2023;

3. Grupy i agregowanie danych po roku

Oprócz prostego pobierania wartości roku, możemy użyć tej funkcji do grupowania zamówień według roku i obliczania sumy zamówień.

SELECT YEAR(data_zamowienia) AS rok, COUNT(*) AS liczba_zamowien
FROM zamowienia
GROUP BY YEAR(data_zamowienia)
ORDER BY rok DESC;

Funkcja YEAR() a różne formaty daty

Funkcja YEAR() działa z wartościami w różnych formatach zapisu daty. Oto kilka przykładów:

Wartość wejściowa Wynik YEAR()
’2023-12-01′ 2023
’2018-05-20 15:30:00′ 2018
NOW() Obecny rok

Alternatywne sposoby pobierania roku

Poza funkcją YEAR(), istnieją inne sposoby wyciągania roku z kolumny o typie DATE lub DATETIME:

  • EXTRACT(YEAR FROM data_zamowienia) – standard SQL działający w wielu systemach baz danych.
  • DATE_FORMAT(data_zamowienia, '%Y') – używane często w MySQL.

Przykładowe zapytanie z alternatywnym podejściem:

SELECT EXTRACT(YEAR FROM data_zamowienia) AS rok FROM zamowienia;

Podsumowanie

Funkcja YEAR() w SQL to niezwykle przydatne narzędzie do pracy z danymi czasowymi. Umożliwia szybkie pobieranie roku, filtrowanie rekordów i grupowanie danych. Znając jej możliwości, można z łatwością manipulować danymi i tworzyć bardziej przejrzyste raporty.

 

Inny ciekawy artykuł:

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

KajoDataSpace