Función TRUNCATE() en MySQL

En este artículo, verá cómo funciona la función TRUNCATE(). La función TRUNCATE en MySQL se usa para truncar un número a un número específico de lugares decimales.

Sintaxis:

TRUNCATE( X, D)

Parámetro: La
función TRUNCATE() acepta dos parámetros como se mencionó anteriormente y se describe a continuación.

  • X: el número que se va a truncar.
  • D: número de lugares decimales hasta los que se debe truncar el número dado. Si es 0, elimina todos los valores decimales y devuelve solo el número entero. Si es negativo, el número se trunca al lado izquierdo del punto decimal.

Devoluciones:
devuelve el número después de truncado en los lugares especificados.

Ejemplo-1:
Truncar un número cuando D es 0.

Truncar un número negativo –

SELECT TRUNCATE(-10.11, 0) AS Truncated_Number ;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|              -10 |
+------------------+

Truncar un número positivo –

SELECT TRUNCATE(100.61, 0) AS Truncated_Number ;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|              100 |
+------------------+

Ejemplo-2:
Truncar un número cuando D es negativo (-ve).
Truncar un número negativo –

SELECT TRUNCATE(-19087.1560, -3) AS Truncated_Number;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|           -19000 |
+------------------+
1 row in set (0.00 sec)

Truncar un número positivo –

SELECT TRUNCATE(10876.5489, -1) AS Truncated_Number;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|            10870 |
+------------------+

Ejemplo-3:
Truncar un número cuando D es positivo (+ ve).
Truncar un número negativo hasta 2 decimales –

SELECT TRUNCATE(-7767.1160, 2) AS Truncated_Number;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|         -7767.11 |
+------------------+
1 row in set (0.00 sec)

Truncar un número positivo hasta 3 decimales –

mysql> SELECT TRUNCATE(17646.6019, 3) AS Truncated_Number;

Producción :

+------------------+
| Truncated_Number |
+------------------+
|        17646.601 |
+------------------+

Ejemplo-4:
La función TRUNCATE también se puede usar para encontrar los valores truncados para los datos de la columna. En este ejemplo, vamos a encontrar valores truncados para la columna Precio. Para demostrar crear una tabla llamada Producto

CREATE TABLE Product
(
    Product_id INT AUTO_INCREMENT,  
    Product_name VARCHAR(100) NOT NULL,
    Buying_price DECIMAL(13, 6) NOT NULL,
    Selling_price DECIMAL(13, 6) NOT NULL,
        Selling_Date Date NOT NULL,
    PRIMARY KEY(Product_id)

);

Ahora insertando algunos datos en la tabla Producto:

INSERT INTO  
Product(Product_name, Buying_price, Selling_price, Selling_Date)
VALUES
    ('P6', 1060.865460, 1700.675400, '2020-08-26' ),
    ('P2', 2000.154300, 3050.986700, '2020-08-27' ),
    ('P1', 4000.874300, 5070.786500, '2020-08-28' ),
    ('P2', 2090.654300, 3050.896500, '2020-09-01' ),
    ('P3', 5900.543280, 7010.654700, '2020-09-04' ),
    ('P4', 4000.353200, 4500.125400, '2020-09-05' ),
    ('P5', 5010.768900, 6000.873200, '2020-09-08' ),
    ('P6', 1060.865460, 1400.675430, '2020-09-11' );

Entonces, la tabla de productos es:

mysql> SELECT * FROM Product;

Producción :

+------------+--------------+--------------+---------------+--------------+
| Product_id | Product_name | Buying_price | Selling_price | Selling_Date |
+------------+--------------+--------------+---------------+--------------+
|          1 | P6           |  1060.865460 |   1700.675400 | 2020-08-26   |
|          2 | P2           |  2000.154300 |   3050.986700 | 2020-08-27   |
|          3 | P1           |  4000.874300 |   5070.786500 | 2020-08-28   |
|          4 | P2           |  2090.654300 |   3050.896500 | 2020-09-01   |
|          5 | P3           |  5900.543280 |   7010.654700 | 2020-09-04   |
|          6 | P4           |  4000.353200 |   4500.125400 | 2020-09-05   |
|          7 | P5           |  5010.768900 |   6000.873200 | 2020-09-08   |
|          8 | P6           |  1060.865460 |   1400.675430 | 2020-09-11   |
|          9 | P6           |  1060.865460 |   1700.675400 | 2020-08-26   |
|         10 | P2           |  2000.154300 |   3050.986700 | 2020-08-27   |
|         11 | P1           |  4000.874300 |   5070.786500 | 2020-08-28   |
|         12 | P2           |  2090.654300 |   3050.896500 | 2020-09-01   |
|         13 | P3           |  5900.543280 |   7010.654700 | 2020-09-04   |
|         14 | P4           |  4000.353200 |   4500.125400 | 2020-09-05   |
|         15 | P5           |  5010.768900 |   6000.873200 | 2020-09-08   |
|         16 | P6           |  1060.865460 |   1400.675430 | 2020-09-11   |
+------------+--------------+--------------+---------------+--------------+

Ahora, vamos a truncar las columnas Buying_price y Selling_price hasta 2 decimales.

   SELECT  
   Product_name,
   Buying_price,
   TRUNCATE(Buying_price, 2) Trucated_Bprice,  
   Selling_price,
   TRUNCATE(Selling_price, 2) Trucated_Sprice
   FROM Product ;

Producción :

+--------------+--------------+-----------------+---------------+-----------------+
| Product_name | Buying_price | Trucated_Bprice | Selling_price | Trucated_Sprice |
+--------------+--------------+-----------------+---------------+-----------------+
| P6           |  1060.865460 |         1060.86 |   1700.675400 |         1700.67 |
| P2           |  2000.154300 |         2000.15 |   3050.986700 |         3050.98 |
| P1           |  4000.874300 |         4000.87 |   5070.786500 |         5070.78 |
| P2           |  2090.654300 |         2090.65 |   3050.896500 |         3050.89 |
| P3           |  5900.543280 |         5900.54 |   7010.654700 |         7010.65 |
| P4           |  4000.353200 |         4000.35 |   4500.125400 |         4500.12 |
| P5           |  5010.768900 |         5010.76 |   6000.873200 |         6000.87 |
| P6           |  1060.865460 |         1060.86 |   1400.675430 |         1400.67 |
| P6           |  1060.865460 |         1060.86 |   1700.675400 |         1700.67 |
| P2           |  2000.154300 |         2000.15 |   3050.986700 |         3050.98 |
| P1           |  4000.874300 |         4000.87 |   5070.786500 |         5070.78 |
| P2           |  2090.654300 |         2090.65 |   3050.896500 |         3050.89 |
| P3           |  5900.543280 |         5900.54 |   7010.654700 |         7010.65 |
| P4           |  4000.353200 |         4000.35 |   4500.125400 |         4500.12 |
| P5           |  5010.768900 |         5010.76 |   6000.873200 |         6000.87 |
| P6           |  1060.865460 |         1060.86 |   1400.675430 |         1400.67 |
+--------------+--------------+-----------------+---------------+-----------------+

Publicación traducida automáticamente

Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *