我有一个数字,我在SQL中使用ROUND()函数:
SELECT ROUND(1.81999,2,1)
我想要结果1.82,而不是1.81 我不知道我的错误在哪里。
答案 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)
这可能取决于您使用的SQL-Dialect。
答案 4 :(得分:0)
使用此查询
select round(1.81999,2)
的Manoj