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 ROUND
A função ROUND arredonda números para o inteiro ou decimal mais próximo.
A função ROUND pode incluir opcionalmente um segundo argumento como um INTEGER para indicar o número de casas decimais para arredondamento, em qualquer direção. Quando você não fornece o segundo argumento, a função arredonda para o número inteiro mais próximo. Quando o segundo argumento inteiro é especificado, a função arredonda para o número mais próximo com inteiro casas decimais de precisão.
Sintaxe
ROUND(number [ , integer ] )
Argumentos
- Número da
-
Um número ou expressão avaliada como um número. Ele pode ser do tipo
DECIMAL,FLOAT8ouSUPER. O Amazon Redshift pode converter implicitamente outros tipos de dados numéricos. - integer
(Opcional) Um
INTEGERque indica o número de casas decimais para arredondamento em ambas as direções. O tipo de dadosSUPERnão é compatível com esse argumento.
Tipo de retorno
ROUND retorna o mesmo tipo de dados numéricos que a entrada number.
Quando a entrada é do tipo SUPER, a saída mantém o mesmo tipo dinâmico que a entrada enquanto o tipo estático permanece o tipo SUPER. Quando o tipo dinâmico de SUPER não é um número, o Amazon Redshift retorna NULL.
Exemplos
Os exemplos a seguir usam o banco de dados de exemplo de TICKIT. Para obter mais informações, consulte Banco de dados de exemplo.
Para arredondar a comissão paga para determinada transação para o número inteiro mais próximo, use o exemplo a seguir.
SELECT commission, ROUND(commission) FROM sales WHERE salesid=10000;+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28 | +------------+-------+
Para arredondar a comissão paga para determinada transação para a primeira casa decimal, use o exemplo a seguir.
SELECT commission, ROUND(commission, 1) FROM sales WHERE salesid=10000;+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28.1 | +------------+-------+
Para estender a precisão na direção oposta à do exemplo anterior, use o exemplo a seguir.
SELECT commission, ROUND(commission, -1) FROM sales WHERE salesid=10000;+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 30 | +------------+-------+