O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
Função MOD
Retorna o resto de dois números, também chamado de operação modulo. Para calcular o resultado, o primeiro parâmetro é dividido pelo segundo.
Sintaxe
MOD(number1, number2)
Argumentos
- number1
-
O primeiro parâmetro de entrada é um número
INTEGER,SMALLINT,BIGINTouDECIMAL. Se um dos parâmetros for do tipoDECIMAL, o outro parâmetro também deverá ser do tipoDECIMAL. Se um dos parâmetros for umINTEGER, o outro parâmetro poderá ser umINTEGER,SMALLINTouBIGINT. Ambos os parâmetros também podem serSMALLINTouBIGINT, mas um parâmetro não poderá serSMALLINTse o outro forBIGINT. - number2
-
O segundo parâmetro é um número
INTEGER,SMALLINT,BIGINTouDECIMAL. As mesmas regras de tipo de dados são válidas para number2 e number1.
Tipo de retorno
O tipo de retorno da função MOD é o mesmo tipo numérico que os parâmetros de entrada se ambos os parâmetros de entrada forem do mesmo tipo. Se um dos parâmetro de entrada for INTEGER, porém, o tipo de retorno também será INTEGER. Os tipos de retorno válidos são DECIMAL, INT, SMALLINT e BIGINT.
Observações de uso
Você pode usar % como um operador de módulo.
Exemplos
Para retornar o resto da divisão de um número por outro, use o exemplo a seguir.
SELECT MOD(10, 4);+-----+ | mod | +-----+ | 2 | +-----+
Para devolver um resultado DECIMAL ao usar a função MOD, use o exemplo a seguir.
SELECT MOD(10.5, 4);+-----+ | mod | +-----+ | 2.5 | +-----+
Para transmitir um número antes de executar a função MOD, use o exemplo a seguir. Para obter mais informações, consulte Função CAST.
SELECT MOD(CAST(16.4 AS INTEGER), 5);+-----+ | mod | +-----+ | 1 | +-----+
Para verificar se o primeiro parâmetro é par dividindo-o por 2, use o exemplo a seguir.
SELECT mod(5,2) = 0 AS is_even;+---------+ | is_even | +---------+ | false | +---------+
Para usar % como operador de módulo, use o exemplo a seguir.
SELECT 11 % 4 as remainder;+-----------+ | remainder | +-----------+ | 3 | +-----------+
Os exemplos a seguir usa o banco de dados de exemplo de TICKIT. Para obter mais informações, consulte Banco de dados de exemplo.
Para retornar informações das categorias com números ímpares na tabela CATEGORY, use o exemplo a seguir.
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 | +-------+-----------+