As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
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 inteiro 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 >n for especificado, a função arredonda para o número mais próximo com >n casas decimais de precisão. Esta função também trunca um timestamp e retorna uma data.
Sintaxe
TRUNC (number [ , integer ] | timestamp )
Argumentos
- número
-
Um número ou expressão avaliada como um número. Pode ser do tipo DECIMAL ou FLOAT8. AWS Clean Rooms pode converter outros tipos de dados de acordo com as regras de conversão implícitas.
- inteiro (opcional)
-
Um inteiro que 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.
- timestamp
-
A função também pode retornar a data de um timestamp. (Para retornar um valor de timestamp com
00:00:00
como a hora, converta o resultado da função para um timestamp.)
Tipo de retorno
TRUNC retorna o mesmo tipo de dados que o primeiro argumento de entrada. Para timestamps, TRUNC retorna uma data.
Exemplos
Trunque a comissão paga para determinada transação de vendas.
select commission, trunc(commission) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 111 (1 row)
Trunque o mesmo valor de comissão para a primeira casa decimal.
select commission, trunc(commission,1) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 111.1 (1 row)
Trunque a comissão com um valor negativo para o segundo argumento; 111.15
é arredondado para 110
.
select commission, trunc(commission,-1) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 110 (1 row)
Retorna a porção de data do resultado da função SYSDATE (que retorna um timestamp):
select sysdate; timestamp ---------------------------- 2011-07-21 10:32:38.248109 (1 row) select trunc(sysdate); trunc ------------ 2011-07-21 (1 row)
Aplique a função TRUNC à uma coluna TIMESTAMP. O tipo de retorno é uma data.
select trunc(starttime) from event order by eventid limit 1; trunc ------------ 2008-01-25 (1 row)