No MySQL, o
TRUNCATE()
função trunca um valor para um número especificado de casas decimais. A função aceita dois argumentos; o valor e o número de casas decimais para truncar esse valor.
Todos os números são arredondados para zero.
Sintaxe
A sintaxe fica assim:
TRUNCATE(X,D)
Onde
X
é o valor para o qual você deseja truncar e D
é o número de casas decimais para truncá-lo. Exemplo 1 – Uso básico
Aqui está um exemplo básico para demonstrar.
SELECT TRUNCATE(1.2345, 2);
Resultado:
+---------------------+ | TRUNCATE(1.2345, 2) | +---------------------+ | 1.23 | +---------------------+
Exemplo 2 – Especifique nenhum ponto decimal
Você pode truncar o número para nenhum ponto decimal usando
0
como segundo argumento. SELECT TRUNCATE(1.2345, 0);
Resultado:
+---------------------+ | TRUNCATE(1.2345, 0) | +---------------------+ | 1 | +---------------------+
Exemplo 3 – Especifique uma parte fracionária negativa
Você também pode especificar um valor negativo para o segundo argumento. Isso faz com que os dígitos do lado esquerdo do ponto decimal se tornem zero. O número de dígitos afetados é determinado pelo valor que você fornece.
Aqui está um exemplo:
SELECT TRUNCATE(123.45, -1);
Resultado:
+----------------------+ | TRUNCATE(123.45, -1) | +----------------------+ | 120 | +----------------------+
E se ajustarmos o segundo argumento:
SELECT TRUNCATE(123.45, -2);
Resultado:
+----------------------+ | TRUNCATE(123.45, -2) | +----------------------+ | 100 | +----------------------+
Exemplo 4 – Expressões
Você também pode passar expressões como esta:
SELECT TRUNCATE(1 + .2345, 2);
Resultado:
+------------------------+ | TRUNCATE(1 + .2345, 2) | +------------------------+ | 1.23 | +------------------------+
Você também pode fazer isso com o segundo argumento:
SELECT TRUNCATE(1.2345, 1 + 1);
Resultado:
+-------------------------+ | TRUNCATE(1.2345, 1 + 1) | +-------------------------+ | 1.23 | +-------------------------+
Exemplo 5 – Passando em uma função
Neste exemplo eu passo no MySQL
PI()
função como o primeiro argumento. SELECT PI(), TRUNCATE(PI(), 2);
Resultado:
+----------+-------------------+ | PI() | TRUNCATE(PI(), 2) | +----------+-------------------+ | 3.141593 | 3.14 | +----------+-------------------+