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

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

Funkcja MINUTE w języku SQL to jedno z podstawowych narzędzi, które pozwala na pracę z wartościami czasowymi. W wielu sytuacjach przydaje się do analizy danych opartych na czasie, wyciągania kluczowych informacji z daty i godziny oraz agregowania raportów. W tym artykule wyjaśnię, jak działa MINUTE w SQL oraz pokażę konkretne przykłady zastosowania.

Co robi funkcja MINUTE w SQL?

Funkcja MINUTE() służy do wyodrębnienia liczby minut z wartości typu DATETIME lub TIME. Zwraca ona wartość całkowitą reprezentującą liczbę minut znajdującą się w podanej dacie czy czasie.

Jeśli mamy np. wartość '2024-06-01 15:45:30', zastosowanie funkcji MINUTE() zwróci 45, ponieważ oznacza ona minutę w formacie godzinowym.

Składnia funkcji MINUTE

SELECT MINUTE(nazwa_kolumny) FROM nazwa_tabeli;

Lub dla wyrażenia bezpośrednio w zapytaniu:

SELECT MINUTE('2024-06-01 12:30:45') AS wynik;

W zależności od bazy danych składnia może się nieznacznie różnić, ale w większości przypadków wygląda podobnie.

Przykłady zastosowania funkcji MINUTE

1. Pobieranie minut z wartości DATETIME

SELECT MINUTE('2024-06-01 18:22:10') AS minuta;

Wynik:

minuta
22

2. Pobieranie minut z kolumny w tabeli

Załóżmy, że mamy tabelę logi_systemowe z kolumną czas_logowania. Chcemy uzyskać minuty z godzin logowania użytkowników.

SELECT MINUTE(czas_logowania) AS minuta_logowania FROM logi_systemowe;

Wynik może wyglądać tak:

minuta_logowania
12
45
59

3. Grupowanie danych po minucie

Jeśli chcemy policzyć, ilu użytkowników logowało się w poszczególnych minutach, możemy zastosować funkcję COUNT() wraz z MINUTE():

SELECT MINUTE(czas_logowania) AS minuta, COUNT(*) AS liczba_logowan
FROM logi_systemowe
GROUP BY MINUTE(czas_logowania)
ORDER BY minuta;

Zapytanie to zwróci podział liczby logowań według minuty.

4. Filtrowanie rekordów wg minuty

Możemy także wybrać tylko te rekordy, które mają konkretną wartość minutową:

SELECT * FROM logi_systemowe WHERE MINUTE(czas_logowania) = 30;

To zapytanie zwróci wszystkie wpisy, gdzie w kolumnie czas_logowania minuty wynoszą dokładnie 30.

Najczęstsze błędy i rozwiązania

1. Błąd typu danych

Funkcja MINUTE() działa tylko na wartościach typu DATETIME i TIME. Jeśli spróbujemy przekazać inny typ, otrzymamy błąd.

SELECT MINUTE('tekst_nie_bedacy_data');

Rozwiązaniem jest konwersja do formatu czasu za pomocą STR_TO_DATE() (w MySQL) lub CAST() (w SQL Server).

2. Zapomniane aliasy

Podczas pracy z funkcją możemy dodać alias, aby nazwa kolumny wynikowej była bardziej czytelna:

SELECT MINUTE(czas_logowania) AS minuta FROM logi_systemowe;

Podsumowanie

Funkcja MINUTE w SQL to proste, ale skuteczne narzędzie do pracy z danymi czasowymi. Dzięki niej możemy:

  • Wydobywać liczbę minut z wartości czasowych,
  • Grupować dane według minut,
  • Filtrować rekordy w zależności od minuty w czasie,
  • Analizować trendy w danych opartych na czasie.

Dzięki funkcji MINUTE(), analiza logów, raportowanie czy nawet proste filtrowanie stają się znacznie łatwiejsze. Warto zapamiętać jej działanie i stosować ją tam, gdzie precyzja czasowa ma znaczenie.

 

Inny ciekawy artykuł:

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

KajoDataSpace