MySQL TRUNCATE 函数

MySQL TRUNCATE 函数是数学函数之一,可用于将指定的表达式截断到用户指定的十进制位置或长度。在本文中,我们将向您展示如何通过命令提示符和 Workbench 结合示例来获取截断值。

MySQL TRUNCATE 函数语法

TRUNCATE 函数的基本语法是

SELECT TRUNCATE(Numeric_Expression, Decimal_Points)
FROM Source
  • Numeric_Expression:可以是数字或有效的数值表达式。
  • Decimal_Points:这是 Expression 删除数字的精度。可以是数字或有效的数值表达式。
    • 如果值为零,则会删除 Numeric_Expression 中的所有小数位。
    • 如果它是正数,则函数会保留此参数指定的十进制值的数量。例如,如果值为 2,则函数只允许 2 位小数。其余数字将被删除。
    • 如果它是负数,则 Expression 可以删除到小数点左侧。

为了演示此 TRUNCATE 数值函数,我们将使用下面显示的数据。

MySQL TRUNCATE 函数示例

此函数返回截断到指定小数位置的值。以下查询显示了使用正数和负数小数位置的多种使用方法。

-- on Negative 
SELECT TRUNCATE(-20.21458, 2) AS `TruncatedValue`;

-- on Positive
SELECT TRUNCATE(125.5745789, 4) AS `TruncatedValue`;

-- on string data
SELECT TRUNCATE('105.59', 5) AS `TruncatedValue`;

-- on String text
SELECT TRUNCATE('MySQL', 3) AS `TruncatedValue`;

从下面的《数学方法》屏幕截图中,您可以看到我们将其用于不同的数字。在这里,我们使用 ALIAS 列为 MySQL 结果分配了一个新名称。

TRUNCATE Function for Deleting Decimal Values

我尝试将负数作为 Truncate 函数的第二个参数。

SELECT TRUNCATE(-2152.21458, -2) AS `TruncatedValue`;

SELECT TRUNCATE(45825.5745789, -3) AS `TruncatedValue`;

SELECT TRUNCATE(986795.59, -1) AS `TruncatedValue`;

SELECT TRUNCATE(145.94589, 0) AS `TruncatedValue`;
Negative Values as second argument 2

MySQL 数值函数还允许您查找列数据的截断值。在此示例中,我们将查找“Sales”、“Standard Cost”、“tax Amount”和“Service Grade”列中所有记录的删除值。

SELECT Product, Color,
		StandardCost, TRUNCATE(StandardCost, 1) AS Cost, 
        Sales, TRUNCATE(Sales, 2) AS Sales, 
        TaxAmt, TRUNCATE(TaxAmt, 3) AS Tax,
        ServiceGrade, TRUNCATE(ServiceGrade, 0) AS Grade
FROM `numeric functions`;
TRUNCATE Function Example 3

我们将编写与上一个示例中使用的相同查询。但是,这次我们将使用负数作为第二个参数。

SELECT Product, Color,
		StandardCost, TRUNCATE(StandardCost, -1) AS Cost, 
        Sales, TRUNCATE(Sales, -2) AS Sales, 
        TaxAmt, TRUNCATE(TaxAmt, -1) AS Tax,
        ServiceGrade
FROM `numeric functions`;
TRUNCATE Function Example 4