在SQL中舍入一个数字

时间:2010-04-28 06:04:47

标签: sql

我有一个数字,我在SQL中使用ROUND()函数:

SELECT ROUND(1.81999,2,1)

我想要结果1.82,而不是1.81 我不知道我的错误在哪里。

5 个答案:

答案 0 :(得分:3)

SELECT ROUND(1.81999,2,1)将截断结果。所以结果是1.81

使用它来执行原始舍入SELECT ROUND(1.81999,2)。

答案 1 :(得分:2)

MySQL的?只是ROUND(...,2)为我工作。

mysql> SELECT ROUND(1.81999,2);
+------------------+
| ROUND(1.81999,2) |
+------------------+
|             1.82 |
+------------------+
1 row in set (0.00 sec)

mysql>

答案 2 :(得分:1)

答案很简单。您在Function命令中指定1(ROUND()命令的第3个参数 来自MSDN的关于此参数的引用:
省略function或者值为0(默认值)时,numeric_expression将四舍五入。 如果指定的值不是0,则会截断numeric_expression

只需将最后的1更改为0或完全省略它并解决问题

答案 3 :(得分:0)

请参阅Round(Transact-SQL)

的“Round to truncate”部分

这可能取决于您使用的SQL-Dialect。

答案 4 :(得分:0)

使用此查询

select round(1.81999,2)

的Manoj