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 TRUNC
A função TRUNC trunca números para o inteiro ou decimal anterior.
A função TRUNC 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.
Essa função também pode truncar um TIMESTAMP e retornar um DATE. Para obter mais informações, consulte Função TRUNC.
Sintaxe
TRUNC(number [ , integer ])
Argumentos
- Número da
-
Um número ou uma expressão avaliada como um número. Ele pode ser do tipo
DECIMAL,FLOAT8ouSUPER. O Amazon Redshift pode converter outros tipos de dados de acordo com as regras de conversão implícitas. - integer
-
(Opcional) Um
INTEGERque indica o número de casas decimais de precisão, em um dos sentidos. Se nenhum inteiro for fornecido, o número será truncado como um número inteiro; se um inteiro for especificado, o número será truncado para a casa decimal especificada. Isso não é compatível com o tipo de dadosSUPER.
Tipo de retorno
TRUNC retorna o mesmo tipo de dados que a entrada número.
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
Alguns dos exemplos a seguir usam o banco de dados de amostra de TICKIT. Para obter mais informações, consulte Banco de dados de exemplo.
Para truncar a comissão paga para determinada transação de vendas, use o exemplo a seguir.
SELECT commission, TRUNC(commission) FROM sales WHERE salesid=784;+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111 | +------------+-------+
Para truncar o mesmo valor de comissão para a primeira casa decimal, use o exemplo a seguir.
SELECT commission, TRUNC(commission,1) FROM sales WHERE salesid=784;+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111.1 | +------------+-------+
Para truncar a comissão com um valor negativo para o segundo argumento, use o exemplo a seguir. Observe que 111.15 é arredondado para 110.
SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784;+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+