Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Restituisce il resto di due numeri, altrimenti nota come operazione modulo. Per calcolare il risultato, il primo parametro viene diviso per il secondo.
Sintassi
MOD(number1, number2)
Argomenti
- number1
-
Il primo parametro di input è un numero
INTEGER
,SMALLINT
,BIGINT
oDECIMAL
. Se uno dei parametri è di tipoDECIMAL
, anche l'altro parametro deve essere di tipoDECIMAL
. Se uno dei parametri è un valoreINTEGER
, l'altro parametro può essereINTEGER
,SMALLINT
oBIGINT
. Entrambi i parametri possono essere ancheSMALLINT
oBIGINT
, ma un parametro non può essereSMALLINT
se l'altro èBIGINT
. - number2
-
Il secondo parametro è un numero
INTEGER
,SMALLINT
,BIGINT
oDECIMAL
. Le stesse regole sui tipi di dati si applicano a number2 così come a number1.
Tipo restituito
Il tipo di restituzione della funzione MOD è lo stesso tipo numerico dei parametri di input, se entrambi i parametri di input sono dello stesso tipo. Se uno dei parametri di input è INTEGER
, in ogni caso anche il tipo di restituzione sarà INTEGER
. I tipi di restituzione validi sono DECIMAL
, INT
, SMALLINT
e BIGINT
.
Note per l'utilizzo
Puoi utilizzare %
come operatore di modulo.
Esempi
Per restituire il resto quando un numero viene diviso per un altro, utilizza l'esempio seguente.
SELECT MOD(10, 4);
+-----+
| mod |
+-----+
| 2 |
+-----+
Per restituire un risultato DECIMAL
quando utilizzi la funzione MOD, utilizza l'esempio seguente.
SELECT MOD(10.5, 4);
+-----+
| mod |
+-----+
| 2.5 |
+-----+
Per convertire un numero prima di eseguire la funzione MOD, utilizza l'esempio seguente. Per ulteriori informazioni, consulta Funzione CAST.
SELECT MOD(CAST(16.4 AS INTEGER), 5);
+-----+
| mod |
+-----+
| 1 |
+-----+
Per controllare se il primo parametro è pari dividendolo per 2, utilizza l'esempio seguente.
SELECT mod(5,2) = 0 AS is_even;
+---------+
| is_even |
+---------+
| false |
+---------+
Per utilizzare % come operatore di modulo, utilizza l'esempio seguente.
SELECT 11 % 4 as remainder;
+-----------+
| remainder |
+-----------+
| 3 |
+-----------+
L'esempio seguente utilizza il database di esempio TICKIT. Per ulteriori informazioni, consulta Database di esempio.
Per restituire informazioni per le categorie dispari nella tabella CATEGORY, utilizza l'esempio seguente.
SELECT catid, catname
FROM category
WHERE MOD(catid,2)=1
ORDER BY 1,2;
+-------+-----------+
| catid | catname |
+-------+-----------+
| 1 | MLB |
| 3 | NFL |
| 5 | MLS |
| 7 | Plays |
| 9 | Pop |
| 11 | Classical |
+-------+-----------+