Mysql ROUND 函数

Posted

技术标签:

【中文标题】Mysql ROUND 函数【英文标题】:Mysql ROUND function 【发布时间】: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 【参考方案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)

【讨论】:

以上是关于Mysql ROUND 函数的主要内容,如果未能解决你的问题,请参考以下文章

mysql之 round()函数 , concat()函数

MySQL四舍五入函数ROUND(x)ROUND(x,y)和TRUNCATE(x,y)

MySQL round函数

mysql round()函数以及convert()函数,保留n位小数

MySQL round函数

mysql中的round函数