Operator arytmetyczny modulo zwraca resztę z dzielenia i w wielu popularnych systemach SQL jest zapisywany symbolem %. Stosuje się go w notacji infiksowej, czyli między argumentami: a % b. Przykład: 10 % 3 daje 1, bo 10 podzielone przez 3 to 3 i reszta 1.
Warto rozróżnić operator od funkcji. Operator % jest elementem składni wyrażenia (tak jak * czy /), natomiast w części systemów spotyka się też funkcję MOD(a,b), która wymaga zapisu funkcyjnego z nawiasami i przecinkiem. Obie formy mogą istnieć równolegle w zależności od bazy, dlatego w testach trzeba czytać uważnie, czy pytanie dotyczy operatora czy funkcji.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- || jest typowym operatorem łączenia (konkatenacji) wartości tekstowych w wielu dialektach SQL, a nie operatorem arytmetycznym.
- & jest kojarzony z operacjami bitowymi (AND bitowy) w niektórych środowiskach, więc nie opisuje reszty z dzielenia.
- / oznacza zwykłe dzielenie, które zwraca iloraz, a nie resztę.
Częsty błąd polega na myleniu symbolu % z jego innym znaczeniem w wyrażeniach LIKE, gdzie % jest wildcardem (dopasowanie dowolnego ciągu znaków). To jednak inny mechanizm i inny kontekst składniowy niż arytmetyka. W zadaniach egzaminacyjnych warto zapamiętać, że w arytmetyce SQL: % = reszta z dzielenia, a priorytet tego operatora jest na poziomie mnożenia i dzielenia, więc przy złożonych wyrażeniach pomocne są nawiasy.