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(x)ROUND(x,y)和TRUNCATE(x,y)