Funkcje wbudowane w MySQL
W tym odcinku poznasz funkcje, które pojawiają się bezpośrednio w zadaniach egzaminacyjnych: agregujące, zaokrąglające, tekstowe i datowe. Każda ma swój charakterystyczny wzorzec.
Zadanie 1: Funkcje agregujące – COUNT, AVG, SUM, MIN, MAX
- Cel: Wykonywanie obliczeń statystycznych na zbiorach danych za pomocą funkcji agregujących.
- Logika: Funkcje te ignorują wartości
NULL(z wyjątkiemCOUNT(*)) i przetwarzają pionowo całe kolumny, aby zwrócić pojedynczą wartość podsumowującą (skalarną) dla zdefiniowanego zbioru rekordów.
Zadanie 2: ROUND() – zaokrąglanie
- Cel: Kontrola precyzji wyświetlanych danych liczbowych za pomocą funkcji
ROUND. - Logika: Funkcja przyjmuje dwa argumenty: pierwszy to liczba (lub działanie), a drugi to liczba miejsc po przecinku. Jeśli drugi argument zostanie pominięty lub wyniesie
0, wynik zostanie zaokrąglony do najbliższej liczby całkowitej zgodnie z zasadami matematycznymi.
Wskazówka:
ROUND(AVG(kolumna), 2)–AVGjest wewnątrzROUND. Kolejność: najpierw obliczAVG, potem zaokrąglij.
Zadanie 3: LOWER() i UPPER() – zmiana wielkości liter
- Cel: Transformacja wielkości liter w tekście.
- Wzorzec: Słowa kluczowe w poleceniu: „dużymi literami” →
UPPER(), „małymi literami” →LOWER(). Pamiętaj, aby funkcją "opakować" nazwę kolumny wSELECT.
Zadanie 4: Funkcje daty – YEAR(), MONTH(), DATEDIFF(), NOW()
- Cel: Ekstrakcja składowych daty oraz obliczanie interwałów czasowych.
- Logika: Używaj
YEAR()iMONTH()do izolowania konkretnych jednostek czasu z pełnej daty (np.2024-05-12). FunkcjaDATEDIFF(data1, data2)oblicza różnicę dni, odejmując drugą datę od pierwszej.
| Funkcja | Co robi |
|---|---|
NOW() |
Aktualna data i godzina |
CURDATE() |
Aktualna data (bez godziny) |
YEAR(data) |
Wyciąga rok z daty |
MONTH(data) |
Wyciąga miesiąc (1–12) |
DAY(data) |
Wyciąga dzień miesiąca |
DATEDIFF(d1, d2) |
Liczba dni między datami (d1 − d2) |
Wskazówka:
DATEDIFF(NOW(), data_rejestracji)– pierwszy argument to data nowsza, drugi – starsza. Wynik jest dodatni gdyNOW() > data_rejestracji.
Zadanie 5: CONCAT() – łączenie tekstów
- Cel: Łączenie danych z kilku kolumn lub dodawanie własnych znaków (np. spacji, tekstu) w jeden ciąg znaków.
- Logika: Funkcja
CONCAT()przyjmuje dowolną liczbę argumentów oddzielonych przecinkami i łączy je w kolejności występowania. Jeśli jakakolwiek wartość wewnątrzCONCATtoNULL, cała funkcja zwróciNULL(dlatego warto dbać o kompletność danych).
Wskazówka: Pamiętaj o spacji
' 'jako osobnym argumencie wewnątrz funkcji, np.CONCAT(imie, ' ', nazwisko). Bez tego napisy zostaną sklejone (np. "JanKowalski").
materiały: link