【问题标题】:Mysql ROUND functionMysql ROUND 函数
【发布时间】:2015-11-25 21:13:31
【问题描述】:

我正在使用 Mysql ROUND 函数将小数四舍五入到小数点后一位,但我有一个问题...我需要始终保留一位小数,例如,

1280,319 => 1280,3

但是当我有

1283,971 => 1284 

我需要有 1284,0

我尝试使用FORMAT(ROUND(1283,971, 1), 1),但它将逗号作为千位分隔符,在示例中它给出了1,284.0 感谢您的帮助。

【问题讨论】:

  • 您是在截断,而不是四舍五入。看TRUNCATE

标签: mysql rounding number-formatting


【解决方案1】:

如何为FORMAT 指定语言环境。

select FORMAT(ROUND(1283.971, 1), 1, 'De_de')

# 1.284,0

【讨论】:

    【解决方案2】:

    SqlFiddleDemo

    CREATE TABLE Table1
        (`test` decimal(12,4));
    
    INSERT INTO Table1
        (`test`)
    VALUES
        (1280.319),
        (1283.971),
        (1275.521),
        (1256.456);
    
    SELECT  truncate(test, 1)
    FROM Table1
    

    输出

    | truncate(test, 1) |
    |-------------------|
    |            1280.3 |
    |            1283.9 |
    |            1275.5 |
    |            1256.4 |
    

    【讨论】:

      【解决方案3】:

      这个格式的数字一定不能写1283,971,这里用逗号隔开参数。 试试这个代码:Select ROUND(1283.971, 1)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多