Funzione MOD - Amazon Redshift

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à.

Funzione MOD

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 o DECIMAL. Se uno dei parametri è di tipo DECIMAL, anche l'altro parametro deve essere di tipo DECIMAL. Se uno dei parametri è un valore INTEGER, l'altro parametro può essere INTEGER, SMALLINT o BIGINT. Entrambi i parametri possono essere anche SMALLINT o BIGINT, ma un parametro non può essere SMALLINT se l'altro è BIGINT.

number2

Il secondo parametro è un numero INTEGER, SMALLINT, BIGINT o DECIMAL. 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 | +-------+-----------+