Operator modulo % w SQL
Operator modulo zwraca resztę z dzielenia jednej liczby przez drugą. W wielu systemach baz danych, m.in. MySQL, PostgreSQL i SQL Server, zapisuje się go jako znak %.
Składnia
liczba1 % liczba2
Wynikiem jest reszta z dzielenia liczba1 przez liczba2.
Przykłady
SELECT 10 % 3;
Wynik:
1
Ponieważ 10 / 3 daje 3 reszty 1.
SELECT 15 % 5;
Wynik:
0
Ponieważ 15 dzieli się przez 5 bez reszty.
Typowe zastosowania
Operator modulo jest często używany do sprawdzania podzielności liczb, np. czy liczba jest parzysta:
SELECT id
FROM produkty
WHERE id % 2 = 0;
Zapytanie wybierze rekordy, których id jest liczbą parzystą.
Można go też stosować do grupowania danych cyklicznych, np. co drugi, co trzeci lub co piąty rekord.
Ważne uwagi egzaminacyjne
%oznacza resztę z dzielenia, czyli modulo./oznacza dzielenie.||w niektórych bazach oznacza konkatenację tekstu.&bywa operatorem bitowym AND, ale nie jest operatorem modulo.
W części systemów SQL dostępna jest również funkcja MOD(a, b), np. MOD(10, 3), ale w pytaniu egzaminacyjnym poprawnym operatorem jest %.